GET https://kbin.spritesserver.nl/u/@GodOfThunder@lemm.ee/threads/commented/%E2%88%9E/articles

Components

18 Twig Components
37 Render Count
41 ms Render Time
14.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
settings_row_switch
"App\Twig\Components\SettingsRowSwitchComponent"
components/_settings_row_switch.html.twig
15 5.85ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 1.27ms
date
"App\Twig\Components\DateComponent"
components/date.html.twig
2 0.56ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 0.75ms
entry
"App\Twig\Components\EntryComponent"
components/_cached.html.twig
1 24.49ms
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
1 0.27ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
1 0.15ms
magazine_inline
"App\Twig\Components\MagazineInlineComponent"
components/magazine_inline.html.twig
1 0.21ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
1 2.01ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
1 8.02ms
user_actions
"App\Twig\Components\UserActionsComponent"
components/user_actions.html.twig
1 0.45ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 1.98ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 0.25ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 1.40ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 1.79ms
related_entries
"App\Twig\Components\RelatedEntriesComponent"
components/_cached.html.twig
1 1.51ms
support_us_block
"App\Twig\Components\SupportUsBlock"
components/_cached.html.twig
1 0.23ms
featured_magazines
"App\Twig\Components\FeaturedMagazinesComponent"
components/_cached.html.twig
1 0.92ms

Render calls

entry App\Twig\Components\EntryComponent 14.0 MiB 24.49 ms
Input props
[
  "entry" => App\Entity\Entry {#1585
    +user: App\Entity\User {#265
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#275
        date: 2023-11-18 06:29:42.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#253 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#238 …}
      +entries: Doctrine\ORM\PersistentCollection {#196 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#168 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#141 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#111 …}
      +posts: Doctrine\ORM\PersistentCollection {#84 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#99 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1863 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1479 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1658 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1868 …}
      +follows: Doctrine\ORM\PersistentCollection {#1917 …}
      +followers: Doctrine\ORM\PersistentCollection {#1601 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1805 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1857 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1860 …}
      +reports: Doctrine\ORM\PersistentCollection {#1791 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2416 …}
      +violations: Doctrine\ORM\PersistentCollection {#1824 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1914 …}
      +awards: Doctrine\ORM\PersistentCollection {#1929 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1867 …}
      +categories: Doctrine\ORM\PersistentCollection {#1880 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1894 …}
      +apId: "GodOfThunder@lemm.ee"
      +apProfileId: "https://lemm.ee/u/GodOfThunder"
      +apPublicUrl: "https://lemm.ee/u/GodOfThunder"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "GodOfThunder"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1700614404 {#269
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#268
        date: 2023-07-15 20:13:20.0 +02:00
      }
    }
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1731
      +icon: Proxies\__CG__\App\Entity\Image {#2316 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#2291
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#2313 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#2317 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2294 …}
      +entries: Doctrine\ORM\PersistentCollection {#2290 …}
      +posts: Doctrine\ORM\PersistentCollection {#2281 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2280 …}
      +bans: Doctrine\ORM\PersistentCollection {#2277 …}
      +reports: Doctrine\ORM\PersistentCollection {#2196 …}
      +badges: Doctrine\ORM\PersistentCollection {#2212 …}
      +logs: Doctrine\ORM\PersistentCollection {#2267 …}
      +awards: Doctrine\ORM\PersistentCollection {#2197 …}
      +categories: Doctrine\ORM\PersistentCollection {#2253 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#2309
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#2301
        date: 2023-11-02 13:51:08.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
    +slug: "Why-are-we-stuck-with-bash-programming-language-in-the"
    +title: "Why are we stuck with bash programming language in the shell?"
    +url: null
    +body: """
      Bash-like scripting has become ubiquitous in operating systems, and it makes me wonder about its widespread adoption despite lacking certain programming conveniences found in other languages. While it may not be the ideal choice for large-scale software development, the bash shell possesses unique features that make it well-suited for interactive command-line processing, including pipelining, text manipulation, and file handling. Why isn’t there an alternative that combines the best of bash’s command-line capabilities with the robustness and scalability of traditional programming languages. Why do even new operating systems, such as Redox OS, opt for a similar syntax rather than a completely different programming language?\n
      \n
      Here are some of the limitations I find in Bash compared to other programming languages:\n
      \n
      1. Syntax and Expressiveness:\n
          \n
          \n
          - Bash has a relatively simple syntax compared to other programming languages. It lacks some advanced language features such as object-oriented programming, complex data structures, and advanced control flow constructs.\n
          - The syntax of Bash can be less intuitive and more error-prone, especially for complex tasks or larger projects.\n
      2. Performance:\n
          \n
          \n
          - Bash scripts can be slower compared to compiled languages like C or Java. This is because Bash is an interpreted language, and each line of code is interpreted at runtime.\n
          - Bash may not be the best choice for computationally intensive tasks or applications that require high performance.\n
      3. Error Handling and Debugging:\n
          \n
          \n
          - Error handling and debugging in Bash can be challenging. Bash does not provide robust error handling mechanisms, and error messages can be cryptic and difficult to interpret.\n
          - Debugging Bash scripts can be cumbersome, as there is limited tooling and debugging support compared to other programming languages.\n
      4. Portability:\n
          \n
          \n
          - While Bash is available on most Unix-like systems, it may not be available on all platforms or versions. This can limit the portability of Bash scripts.\n
          - Bash scripts may not work as expected on non-Unix systems or require modifications to run on different platforms.\n
      5. Limited Standard Library:\n
          \n
          \n
          - Bash has a limited standard library compared to other programming languages. It lacks comprehensive libraries for tasks such as networking, database access, or advanced data manipulation.\n
          - Bash often relies on external tools or utilities to perform complex operations, which can introduce dependencies and compatibility issues.\n
      6. Lack of Modularity and Reusability:\n
          \n
          \n
          - Bash scripts can become monolithic and difficult to maintain as they grow in size. Bash does not provide strong mechanisms for modularization or code reuse.\n
          - Reusing code or creating libraries in Bash can be challenging, leading to code duplication and decreased maintainability.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 2
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699741250 {#1574
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1702 …}
    +votes: Doctrine\ORM\PersistentCollection {#1683 …}
    +reports: Doctrine\ORM\PersistentCollection {#1689 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1724 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1727 …}
    +badges: Doctrine\ORM\PersistentCollection {#2464 …}
    +children: []
    -id: 13188
    -titleTs: "'bash':6 'languag':8 'program':7 'shell':11 'stuck':4"
    -bodyTs: "'1':131 '2':186 '3':235 '4':286 '5':336 '6':385 'access':361 'adopt':19 'advanc':149,162,363 'altern':73 'applic':230 'avail':291,302 'bash':2,44,79,125,135,169,188,204,218,245,249,268,289,314,316,340,366,391,405,422 'bash-lik':1 'becom':6,394 'best':77,223 'c':198 'capabl':84 'certain':22 'challeng':248,425 'choic':36,224 'code':213,414,417,428 'combin':75 'command':58,82 'command-lin':57,81 'compar':126,141,193,281,346 'compat':383 'compil':195 'complet':112 'complex':158,181,376 'comprehens':353 'comput':226 'construct':165 'control':163 'conveni':24 'creat':419 'cryptic':262 'cumbersom':272 'data':159,364 'databas':360 'debug':239,243,267,279 'decreas':431 'depend':381 'despit':20 'develop':42 'differ':113,334 'difficult':264,397 'duplic':429 'error':177,236,240,254,258 'error-pron':176 'especi':179 'even':96 'expect':322 'express':134 'extern':370 'featur':48,151 'file':66 'find':123 'flow':164 'found':25 'grow':402 'handl':67,237,241,255 'high':233 'ideal':35 'includ':61 'intens':227 'interact':56 'interpret':207,215,266 'introduc':380 'intuit':173 'isn':69 'issu':384 'java':200 'lack':21,147,352,386 'languag':28,93,115,130,145,150,196,208,285,350 'larg':39 'large-scal':38 'larger':184 'lead':426 'less':172 'librari':339,345,354,420 'like':3,197,296 'limit':121,276,310,337,343 'line':59,83,211 'maintain':399,432 'make':13,50 'manipul':64,365 'may':31,219,299,318 'mechan':256,410 'messag':259 'modif':330 'modular':388,412 'monolith':395 'network':359 'new':97 'non':325 'non-unix':324 'object':155 'object-ori':154 'often':367 'oper':9,98,377 'opt':104 'orient':156 'os':103 'perform':187,234,375 'pipelin':62 'platform':305,335 'portabl':287,312 'possess':46 'process':60 'program':23,92,114,129,144,157,284,349 'project':185 'prone':178 'provid':252,408 'rather':109 'redox':102 'relat':138 'reli':368 'requir':232,329 'reus':415,416 'reusabl':390 'robust':87,253 'run':332 'runtim':217 'scalabl':89 'scale':40 'script':4,189,269,315,317,392 'shell':45 'similar':107 'simpl':139 'size':404 'slower':192 'softwar':41 'standard':338,344 'strong':409 'structur':160 'suit':54 'support':280 'syntax':108,132,140,167 'system':10,99,297,327 'task':182,228,356 'text':63 'tool':277,371 'tradit':91 'ubiquit':7 'uniqu':47 'unix':295,326 'unix-lik':294 'util':373 'version':307 'well':53 'well-suit':52 'widespread':18 'wonder':15 'work':320"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1689167886
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/1041841"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689154886 {#1409
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
  "showMagazineName" => true
]
Attributes
[]
Component
App\Twig\Components\EntryComponent {#2066
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
  -newCommentMarkerCount: App\Kbin\NewCommentMarker\NewCommentMarkerCount {#2074 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  +entry: App\Entity\Entry {#1585
    +user: App\Entity\User {#265
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#275
        date: 2023-11-18 06:29:42.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#253 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#238 …}
      +entries: Doctrine\ORM\PersistentCollection {#196 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#168 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#141 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#111 …}
      +posts: Doctrine\ORM\PersistentCollection {#84 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#99 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1863 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1479 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1658 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1868 …}
      +follows: Doctrine\ORM\PersistentCollection {#1917 …}
      +followers: Doctrine\ORM\PersistentCollection {#1601 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1805 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1857 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1860 …}
      +reports: Doctrine\ORM\PersistentCollection {#1791 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2416 …}
      +violations: Doctrine\ORM\PersistentCollection {#1824 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1914 …}
      +awards: Doctrine\ORM\PersistentCollection {#1929 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1867 …}
      +categories: Doctrine\ORM\PersistentCollection {#1880 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1894 …}
      +apId: "GodOfThunder@lemm.ee"
      +apProfileId: "https://lemm.ee/u/GodOfThunder"
      +apPublicUrl: "https://lemm.ee/u/GodOfThunder"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "GodOfThunder"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1700614404 {#269
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#268
        date: 2023-07-15 20:13:20.0 +02:00
      }
    }
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1731
      +icon: Proxies\__CG__\App\Entity\Image {#2316 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#2291
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#2313 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#2317 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2294 …}
      +entries: Doctrine\ORM\PersistentCollection {#2290 …}
      +posts: Doctrine\ORM\PersistentCollection {#2281 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2280 …}
      +bans: Doctrine\ORM\PersistentCollection {#2277 …}
      +reports: Doctrine\ORM\PersistentCollection {#2196 …}
      +badges: Doctrine\ORM\PersistentCollection {#2212 …}
      +logs: Doctrine\ORM\PersistentCollection {#2267 …}
      +awards: Doctrine\ORM\PersistentCollection {#2197 …}
      +categories: Doctrine\ORM\PersistentCollection {#2253 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#2309
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#2301
        date: 2023-11-02 13:51:08.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
    +slug: "Why-are-we-stuck-with-bash-programming-language-in-the"
    +title: "Why are we stuck with bash programming language in the shell?"
    +url: null
    +body: """
      Bash-like scripting has become ubiquitous in operating systems, and it makes me wonder about its widespread adoption despite lacking certain programming conveniences found in other languages. While it may not be the ideal choice for large-scale software development, the bash shell possesses unique features that make it well-suited for interactive command-line processing, including pipelining, text manipulation, and file handling. Why isn’t there an alternative that combines the best of bash’s command-line capabilities with the robustness and scalability of traditional programming languages. Why do even new operating systems, such as Redox OS, opt for a similar syntax rather than a completely different programming language?\n
      \n
      Here are some of the limitations I find in Bash compared to other programming languages:\n
      \n
      1. Syntax and Expressiveness:\n
          \n
          \n
          - Bash has a relatively simple syntax compared to other programming languages. It lacks some advanced language features such as object-oriented programming, complex data structures, and advanced control flow constructs.\n
          - The syntax of Bash can be less intuitive and more error-prone, especially for complex tasks or larger projects.\n
      2. Performance:\n
          \n
          \n
          - Bash scripts can be slower compared to compiled languages like C or Java. This is because Bash is an interpreted language, and each line of code is interpreted at runtime.\n
          - Bash may not be the best choice for computationally intensive tasks or applications that require high performance.\n
      3. Error Handling and Debugging:\n
          \n
          \n
          - Error handling and debugging in Bash can be challenging. Bash does not provide robust error handling mechanisms, and error messages can be cryptic and difficult to interpret.\n
          - Debugging Bash scripts can be cumbersome, as there is limited tooling and debugging support compared to other programming languages.\n
      4. Portability:\n
          \n
          \n
          - While Bash is available on most Unix-like systems, it may not be available on all platforms or versions. This can limit the portability of Bash scripts.\n
          - Bash scripts may not work as expected on non-Unix systems or require modifications to run on different platforms.\n
      5. Limited Standard Library:\n
          \n
          \n
          - Bash has a limited standard library compared to other programming languages. It lacks comprehensive libraries for tasks such as networking, database access, or advanced data manipulation.\n
          - Bash often relies on external tools or utilities to perform complex operations, which can introduce dependencies and compatibility issues.\n
      6. Lack of Modularity and Reusability:\n
          \n
          \n
          - Bash scripts can become monolithic and difficult to maintain as they grow in size. Bash does not provide strong mechanisms for modularization or code reuse.\n
          - Reusing code or creating libraries in Bash can be challenging, leading to code duplication and decreased maintainability.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 2
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699741250 {#1574
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1702 …}
    +votes: Doctrine\ORM\PersistentCollection {#1683 …}
    +reports: Doctrine\ORM\PersistentCollection {#1689 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1724 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1727 …}
    +badges: Doctrine\ORM\PersistentCollection {#2464 …}
    +children: []
    -id: 13188
    -titleTs: "'bash':6 'languag':8 'program':7 'shell':11 'stuck':4"
    -bodyTs: "'1':131 '2':186 '3':235 '4':286 '5':336 '6':385 'access':361 'adopt':19 'advanc':149,162,363 'altern':73 'applic':230 'avail':291,302 'bash':2,44,79,125,135,169,188,204,218,245,249,268,289,314,316,340,366,391,405,422 'bash-lik':1 'becom':6,394 'best':77,223 'c':198 'capabl':84 'certain':22 'challeng':248,425 'choic':36,224 'code':213,414,417,428 'combin':75 'command':58,82 'command-lin':57,81 'compar':126,141,193,281,346 'compat':383 'compil':195 'complet':112 'complex':158,181,376 'comprehens':353 'comput':226 'construct':165 'control':163 'conveni':24 'creat':419 'cryptic':262 'cumbersom':272 'data':159,364 'databas':360 'debug':239,243,267,279 'decreas':431 'depend':381 'despit':20 'develop':42 'differ':113,334 'difficult':264,397 'duplic':429 'error':177,236,240,254,258 'error-pron':176 'especi':179 'even':96 'expect':322 'express':134 'extern':370 'featur':48,151 'file':66 'find':123 'flow':164 'found':25 'grow':402 'handl':67,237,241,255 'high':233 'ideal':35 'includ':61 'intens':227 'interact':56 'interpret':207,215,266 'introduc':380 'intuit':173 'isn':69 'issu':384 'java':200 'lack':21,147,352,386 'languag':28,93,115,130,145,150,196,208,285,350 'larg':39 'large-scal':38 'larger':184 'lead':426 'less':172 'librari':339,345,354,420 'like':3,197,296 'limit':121,276,310,337,343 'line':59,83,211 'maintain':399,432 'make':13,50 'manipul':64,365 'may':31,219,299,318 'mechan':256,410 'messag':259 'modif':330 'modular':388,412 'monolith':395 'network':359 'new':97 'non':325 'non-unix':324 'object':155 'object-ori':154 'often':367 'oper':9,98,377 'opt':104 'orient':156 'os':103 'perform':187,234,375 'pipelin':62 'platform':305,335 'portabl':287,312 'possess':46 'process':60 'program':23,92,114,129,144,157,284,349 'project':185 'prone':178 'provid':252,408 'rather':109 'redox':102 'relat':138 'reli':368 'requir':232,329 'reus':415,416 'reusabl':390 'robust':87,253 'run':332 'runtim':217 'scalabl':89 'scale':40 'script':4,189,269,315,317,392 'shell':45 'similar':107 'simpl':139 'size':404 'slower':192 'softwar':41 'standard':338,344 'strong':409 'structur':160 'suit':54 'support':280 'syntax':108,132,140,167 'system':10,99,297,327 'task':182,228,356 'text':63 'tool':277,371 'tradit':91 'ubiquit':7 'uniqu':47 'unix':295,326 'unix-lik':294 'util':373 'version':307 'well':53 'well-suit':52 'widespread':18 'wonder':15 'work':320"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1689167886
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/1041841"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689154886 {#1409
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
  +isSingle: false
  +showShortSentence: true
  +showBody: false
  +showMagazineName: true
  +canSeeTrash: false
  +newComments: 0
}
user_inline App\Twig\Components\UserInlineComponent 14.0 MiB 0.27 ms
Input props
[
  "user" => App\Entity\User {#265
    +avatar: null
    +cover: null
    +email: "GodOfThunder@lemm.ee"
    +username: "@GodOfThunder@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700285382 {#275
      date: 2023-11-18 06:29:42.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#253 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#249 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#238 …}
    +entries: Doctrine\ORM\PersistentCollection {#196 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#168 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#141 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#111 …}
    +posts: Doctrine\ORM\PersistentCollection {#84 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#99 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1863 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1479 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1658 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1868 …}
    +follows: Doctrine\ORM\PersistentCollection {#1917 …}
    +followers: Doctrine\ORM\PersistentCollection {#1601 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1805 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1810 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1857 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1860 …}
    +reports: Doctrine\ORM\PersistentCollection {#1791 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2416 …}
    +violations: Doctrine\ORM\PersistentCollection {#1824 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1914 …}
    +awards: Doctrine\ORM\PersistentCollection {#1929 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1867 …}
    +categories: Doctrine\ORM\PersistentCollection {#1880 …}
    -id: 28895
    -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1894 …}
    +apId: "GodOfThunder@lemm.ee"
    +apProfileId: "https://lemm.ee/u/GodOfThunder"
    +apPublicUrl: "https://lemm.ee/u/GodOfThunder"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "GodOfThunder"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1700614404 {#269
      date: 2023-11-22 01:53:24.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689444800 {#268
      date: 2023-07-15 20:13:20.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#2546
  +user: App\Entity\User {#265
    +avatar: null
    +cover: null
    +email: "GodOfThunder@lemm.ee"
    +username: "@GodOfThunder@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700285382 {#275
      date: 2023-11-18 06:29:42.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#253 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#249 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#238 …}
    +entries: Doctrine\ORM\PersistentCollection {#196 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#168 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#141 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#111 …}
    +posts: Doctrine\ORM\PersistentCollection {#84 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#99 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1863 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1479 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1658 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1868 …}
    +follows: Doctrine\ORM\PersistentCollection {#1917 …}
    +followers: Doctrine\ORM\PersistentCollection {#1601 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1805 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1810 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1857 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1860 …}
    +reports: Doctrine\ORM\PersistentCollection {#1791 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2416 …}
    +violations: Doctrine\ORM\PersistentCollection {#1824 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1914 …}
    +awards: Doctrine\ORM\PersistentCollection {#1929 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1867 …}
    +categories: Doctrine\ORM\PersistentCollection {#1880 …}
    -id: 28895
    -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1894 …}
    +apId: "GodOfThunder@lemm.ee"
    +apProfileId: "https://lemm.ee/u/GodOfThunder"
    +apPublicUrl: "https://lemm.ee/u/GodOfThunder"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "GodOfThunder"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1700614404 {#269
      date: 2023-11-22 01:53:24.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689444800 {#268
      date: 2023-07-15 20:13:20.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 14.0 MiB 0.43 ms
Input props
[
  "date" => DateTimeImmutable @1689154886 {#1409
    date: 2023-07-12 11:41:26.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#2613
  +date: DateTimeImmutable @1689154886 {#1409
    date: 2023-07-12 11:41:26.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 14.0 MiB 0.15 ms
Input props
[
  "createdAt" => DateTimeImmutable @1689154886 {#1409
    date: 2023-07-12 11:41:26.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#2677
  +createdAt: DateTimeImmutable @1689154886 {#1409
    date: 2023-07-12 11:41:26.0 +02:00
  }
  +editedAt: null
}
magazine_inline App\Twig\Components\MagazineInlineComponent 14.0 MiB 0.21 ms
Input props
[
  "magazine" => Proxies\__CG__\App\Entity\Magazine {#1731
    +icon: Proxies\__CG__\App\Entity\Image {#2316 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#2291
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#2313 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#2317 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2294 …}
    +entries: Doctrine\ORM\PersistentCollection {#2290 …}
    +posts: Doctrine\ORM\PersistentCollection {#2281 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2280 …}
    +bans: Doctrine\ORM\PersistentCollection {#2277 …}
    +reports: Doctrine\ORM\PersistentCollection {#2196 …}
    +badges: Doctrine\ORM\PersistentCollection {#2212 …}
    +logs: Doctrine\ORM\PersistentCollection {#2267 …}
    +awards: Doctrine\ORM\PersistentCollection {#2197 …}
    +categories: Doctrine\ORM\PersistentCollection {#2253 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#2309
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#2301
      date: 2023-11-02 13:51:08.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\MagazineInlineComponent {#2742
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1731
    +icon: Proxies\__CG__\App\Entity\Image {#2316 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#2291
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#2313 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#2317 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2294 …}
    +entries: Doctrine\ORM\PersistentCollection {#2290 …}
    +posts: Doctrine\ORM\PersistentCollection {#2281 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2280 …}
    +bans: Doctrine\ORM\PersistentCollection {#2277 …}
    +reports: Doctrine\ORM\PersistentCollection {#2196 …}
    +badges: Doctrine\ORM\PersistentCollection {#2212 …}
    +logs: Doctrine\ORM\PersistentCollection {#2267 …}
    +awards: Doctrine\ORM\PersistentCollection {#2197 …}
    +categories: Doctrine\ORM\PersistentCollection {#2253 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#2309
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#2301
      date: 2023-11-02 13:51:08.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +showTitle: true
  +fullName: false
  +stretchedLink: false
  +showAvatar: false
}
vote App\Twig\Components\VoteComponent 14.0 MiB 2.01 ms
Input props
[
  "subject" => App\Entity\Entry {#1585
    +user: App\Entity\User {#265
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#275
        date: 2023-11-18 06:29:42.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#253 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#238 …}
      +entries: Doctrine\ORM\PersistentCollection {#196 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#168 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#141 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#111 …}
      +posts: Doctrine\ORM\PersistentCollection {#84 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#99 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1863 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1479 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1658 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1868 …}
      +follows: Doctrine\ORM\PersistentCollection {#1917 …}
      +followers: Doctrine\ORM\PersistentCollection {#1601 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1805 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1857 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1860 …}
      +reports: Doctrine\ORM\PersistentCollection {#1791 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2416 …}
      +violations: Doctrine\ORM\PersistentCollection {#1824 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1914 …}
      +awards: Doctrine\ORM\PersistentCollection {#1929 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1867 …}
      +categories: Doctrine\ORM\PersistentCollection {#1880 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1894 …}
      +apId: "GodOfThunder@lemm.ee"
      +apProfileId: "https://lemm.ee/u/GodOfThunder"
      +apPublicUrl: "https://lemm.ee/u/GodOfThunder"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "GodOfThunder"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1700614404 {#269
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#268
        date: 2023-07-15 20:13:20.0 +02:00
      }
    }
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1731
      +icon: Proxies\__CG__\App\Entity\Image {#2316 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#2291
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#2313 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#2317 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2294 …}
      +entries: Doctrine\ORM\PersistentCollection {#2290 …}
      +posts: Doctrine\ORM\PersistentCollection {#2281 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2280 …}
      +bans: Doctrine\ORM\PersistentCollection {#2277 …}
      +reports: Doctrine\ORM\PersistentCollection {#2196 …}
      +badges: Doctrine\ORM\PersistentCollection {#2212 …}
      +logs: Doctrine\ORM\PersistentCollection {#2267 …}
      +awards: Doctrine\ORM\PersistentCollection {#2197 …}
      +categories: Doctrine\ORM\PersistentCollection {#2253 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#2309
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#2301
        date: 2023-11-02 13:51:08.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
    +slug: "Why-are-we-stuck-with-bash-programming-language-in-the"
    +title: "Why are we stuck with bash programming language in the shell?"
    +url: null
    +body: """
      Bash-like scripting has become ubiquitous in operating systems, and it makes me wonder about its widespread adoption despite lacking certain programming conveniences found in other languages. While it may not be the ideal choice for large-scale software development, the bash shell possesses unique features that make it well-suited for interactive command-line processing, including pipelining, text manipulation, and file handling. Why isn’t there an alternative that combines the best of bash’s command-line capabilities with the robustness and scalability of traditional programming languages. Why do even new operating systems, such as Redox OS, opt for a similar syntax rather than a completely different programming language?\n
      \n
      Here are some of the limitations I find in Bash compared to other programming languages:\n
      \n
      1. Syntax and Expressiveness:\n
          \n
          \n
          - Bash has a relatively simple syntax compared to other programming languages. It lacks some advanced language features such as object-oriented programming, complex data structures, and advanced control flow constructs.\n
          - The syntax of Bash can be less intuitive and more error-prone, especially for complex tasks or larger projects.\n
      2. Performance:\n
          \n
          \n
          - Bash scripts can be slower compared to compiled languages like C or Java. This is because Bash is an interpreted language, and each line of code is interpreted at runtime.\n
          - Bash may not be the best choice for computationally intensive tasks or applications that require high performance.\n
      3. Error Handling and Debugging:\n
          \n
          \n
          - Error handling and debugging in Bash can be challenging. Bash does not provide robust error handling mechanisms, and error messages can be cryptic and difficult to interpret.\n
          - Debugging Bash scripts can be cumbersome, as there is limited tooling and debugging support compared to other programming languages.\n
      4. Portability:\n
          \n
          \n
          - While Bash is available on most Unix-like systems, it may not be available on all platforms or versions. This can limit the portability of Bash scripts.\n
          - Bash scripts may not work as expected on non-Unix systems or require modifications to run on different platforms.\n
      5. Limited Standard Library:\n
          \n
          \n
          - Bash has a limited standard library compared to other programming languages. It lacks comprehensive libraries for tasks such as networking, database access, or advanced data manipulation.\n
          - Bash often relies on external tools or utilities to perform complex operations, which can introduce dependencies and compatibility issues.\n
      6. Lack of Modularity and Reusability:\n
          \n
          \n
          - Bash scripts can become monolithic and difficult to maintain as they grow in size. Bash does not provide strong mechanisms for modularization or code reuse.\n
          - Reusing code or creating libraries in Bash can be challenging, leading to code duplication and decreased maintainability.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 2
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699741250 {#1574
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1702 …}
    +votes: Doctrine\ORM\PersistentCollection {#1683 …}
    +reports: Doctrine\ORM\PersistentCollection {#1689 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1724 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1727 …}
    +badges: Doctrine\ORM\PersistentCollection {#2464 …}
    +children: []
    -id: 13188
    -titleTs: "'bash':6 'languag':8 'program':7 'shell':11 'stuck':4"
    -bodyTs: "'1':131 '2':186 '3':235 '4':286 '5':336 '6':385 'access':361 'adopt':19 'advanc':149,162,363 'altern':73 'applic':230 'avail':291,302 'bash':2,44,79,125,135,169,188,204,218,245,249,268,289,314,316,340,366,391,405,422 'bash-lik':1 'becom':6,394 'best':77,223 'c':198 'capabl':84 'certain':22 'challeng':248,425 'choic':36,224 'code':213,414,417,428 'combin':75 'command':58,82 'command-lin':57,81 'compar':126,141,193,281,346 'compat':383 'compil':195 'complet':112 'complex':158,181,376 'comprehens':353 'comput':226 'construct':165 'control':163 'conveni':24 'creat':419 'cryptic':262 'cumbersom':272 'data':159,364 'databas':360 'debug':239,243,267,279 'decreas':431 'depend':381 'despit':20 'develop':42 'differ':113,334 'difficult':264,397 'duplic':429 'error':177,236,240,254,258 'error-pron':176 'especi':179 'even':96 'expect':322 'express':134 'extern':370 'featur':48,151 'file':66 'find':123 'flow':164 'found':25 'grow':402 'handl':67,237,241,255 'high':233 'ideal':35 'includ':61 'intens':227 'interact':56 'interpret':207,215,266 'introduc':380 'intuit':173 'isn':69 'issu':384 'java':200 'lack':21,147,352,386 'languag':28,93,115,130,145,150,196,208,285,350 'larg':39 'large-scal':38 'larger':184 'lead':426 'less':172 'librari':339,345,354,420 'like':3,197,296 'limit':121,276,310,337,343 'line':59,83,211 'maintain':399,432 'make':13,50 'manipul':64,365 'may':31,219,299,318 'mechan':256,410 'messag':259 'modif':330 'modular':388,412 'monolith':395 'network':359 'new':97 'non':325 'non-unix':324 'object':155 'object-ori':154 'often':367 'oper':9,98,377 'opt':104 'orient':156 'os':103 'perform':187,234,375 'pipelin':62 'platform':305,335 'portabl':287,312 'possess':46 'process':60 'program':23,92,114,129,144,157,284,349 'project':185 'prone':178 'provid':252,408 'rather':109 'redox':102 'relat':138 'reli':368 'requir':232,329 'reus':415,416 'reusabl':390 'robust':87,253 'run':332 'runtim':217 'scalabl':89 'scale':40 'script':4,189,269,315,317,392 'shell':45 'similar':107 'simpl':139 'size':404 'slower':192 'softwar':41 'standard':338,344 'strong':409 'structur':160 'suit':54 'support':280 'syntax':108,132,140,167 'system':10,99,297,327 'task':182,228,356 'text':63 'tool':277,371 'tradit':91 'ubiquit':7 'uniqu':47 'unix':295,326 'unix-lik':294 'util':373 'version':307 'well':53 'well-suit':52 'widespread':18 'wonder':15 'work':320"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1689167886
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/1041841"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689154886 {#1409
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#2808
  +subject: App\Entity\Entry {#1585
    +user: App\Entity\User {#265
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#275
        date: 2023-11-18 06:29:42.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#253 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#238 …}
      +entries: Doctrine\ORM\PersistentCollection {#196 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#168 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#141 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#111 …}
      +posts: Doctrine\ORM\PersistentCollection {#84 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#99 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1863 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1479 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1658 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1868 …}
      +follows: Doctrine\ORM\PersistentCollection {#1917 …}
      +followers: Doctrine\ORM\PersistentCollection {#1601 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1805 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1857 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1860 …}
      +reports: Doctrine\ORM\PersistentCollection {#1791 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2416 …}
      +violations: Doctrine\ORM\PersistentCollection {#1824 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1914 …}
      +awards: Doctrine\ORM\PersistentCollection {#1929 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1867 …}
      +categories: Doctrine\ORM\PersistentCollection {#1880 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1894 …}
      +apId: "GodOfThunder@lemm.ee"
      +apProfileId: "https://lemm.ee/u/GodOfThunder"
      +apPublicUrl: "https://lemm.ee/u/GodOfThunder"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "GodOfThunder"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1700614404 {#269
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#268
        date: 2023-07-15 20:13:20.0 +02:00
      }
    }
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1731
      +icon: Proxies\__CG__\App\Entity\Image {#2316 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#2291
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#2313 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#2317 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2294 …}
      +entries: Doctrine\ORM\PersistentCollection {#2290 …}
      +posts: Doctrine\ORM\PersistentCollection {#2281 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2280 …}
      +bans: Doctrine\ORM\PersistentCollection {#2277 …}
      +reports: Doctrine\ORM\PersistentCollection {#2196 …}
      +badges: Doctrine\ORM\PersistentCollection {#2212 …}
      +logs: Doctrine\ORM\PersistentCollection {#2267 …}
      +awards: Doctrine\ORM\PersistentCollection {#2197 …}
      +categories: Doctrine\ORM\PersistentCollection {#2253 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#2309
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#2301
        date: 2023-11-02 13:51:08.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
    +slug: "Why-are-we-stuck-with-bash-programming-language-in-the"
    +title: "Why are we stuck with bash programming language in the shell?"
    +url: null
    +body: """
      Bash-like scripting has become ubiquitous in operating systems, and it makes me wonder about its widespread adoption despite lacking certain programming conveniences found in other languages. While it may not be the ideal choice for large-scale software development, the bash shell possesses unique features that make it well-suited for interactive command-line processing, including pipelining, text manipulation, and file handling. Why isn’t there an alternative that combines the best of bash’s command-line capabilities with the robustness and scalability of traditional programming languages. Why do even new operating systems, such as Redox OS, opt for a similar syntax rather than a completely different programming language?\n
      \n
      Here are some of the limitations I find in Bash compared to other programming languages:\n
      \n
      1. Syntax and Expressiveness:\n
          \n
          \n
          - Bash has a relatively simple syntax compared to other programming languages. It lacks some advanced language features such as object-oriented programming, complex data structures, and advanced control flow constructs.\n
          - The syntax of Bash can be less intuitive and more error-prone, especially for complex tasks or larger projects.\n
      2. Performance:\n
          \n
          \n
          - Bash scripts can be slower compared to compiled languages like C or Java. This is because Bash is an interpreted language, and each line of code is interpreted at runtime.\n
          - Bash may not be the best choice for computationally intensive tasks or applications that require high performance.\n
      3. Error Handling and Debugging:\n
          \n
          \n
          - Error handling and debugging in Bash can be challenging. Bash does not provide robust error handling mechanisms, and error messages can be cryptic and difficult to interpret.\n
          - Debugging Bash scripts can be cumbersome, as there is limited tooling and debugging support compared to other programming languages.\n
      4. Portability:\n
          \n
          \n
          - While Bash is available on most Unix-like systems, it may not be available on all platforms or versions. This can limit the portability of Bash scripts.\n
          - Bash scripts may not work as expected on non-Unix systems or require modifications to run on different platforms.\n
      5. Limited Standard Library:\n
          \n
          \n
          - Bash has a limited standard library compared to other programming languages. It lacks comprehensive libraries for tasks such as networking, database access, or advanced data manipulation.\n
          - Bash often relies on external tools or utilities to perform complex operations, which can introduce dependencies and compatibility issues.\n
      6. Lack of Modularity and Reusability:\n
          \n
          \n
          - Bash scripts can become monolithic and difficult to maintain as they grow in size. Bash does not provide strong mechanisms for modularization or code reuse.\n
          - Reusing code or creating libraries in Bash can be challenging, leading to code duplication and decreased maintainability.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 2
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699741250 {#1574
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1702 …}
    +votes: Doctrine\ORM\PersistentCollection {#1683 …}
    +reports: Doctrine\ORM\PersistentCollection {#1689 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1724 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1727 …}
    +badges: Doctrine\ORM\PersistentCollection {#2464 …}
    +children: []
    -id: 13188
    -titleTs: "'bash':6 'languag':8 'program':7 'shell':11 'stuck':4"
    -bodyTs: "'1':131 '2':186 '3':235 '4':286 '5':336 '6':385 'access':361 'adopt':19 'advanc':149,162,363 'altern':73 'applic':230 'avail':291,302 'bash':2,44,79,125,135,169,188,204,218,245,249,268,289,314,316,340,366,391,405,422 'bash-lik':1 'becom':6,394 'best':77,223 'c':198 'capabl':84 'certain':22 'challeng':248,425 'choic':36,224 'code':213,414,417,428 'combin':75 'command':58,82 'command-lin':57,81 'compar':126,141,193,281,346 'compat':383 'compil':195 'complet':112 'complex':158,181,376 'comprehens':353 'comput':226 'construct':165 'control':163 'conveni':24 'creat':419 'cryptic':262 'cumbersom':272 'data':159,364 'databas':360 'debug':239,243,267,279 'decreas':431 'depend':381 'despit':20 'develop':42 'differ':113,334 'difficult':264,397 'duplic':429 'error':177,236,240,254,258 'error-pron':176 'especi':179 'even':96 'expect':322 'express':134 'extern':370 'featur':48,151 'file':66 'find':123 'flow':164 'found':25 'grow':402 'handl':67,237,241,255 'high':233 'ideal':35 'includ':61 'intens':227 'interact':56 'interpret':207,215,266 'introduc':380 'intuit':173 'isn':69 'issu':384 'java':200 'lack':21,147,352,386 'languag':28,93,115,130,145,150,196,208,285,350 'larg':39 'large-scal':38 'larger':184 'lead':426 'less':172 'librari':339,345,354,420 'like':3,197,296 'limit':121,276,310,337,343 'line':59,83,211 'maintain':399,432 'make':13,50 'manipul':64,365 'may':31,219,299,318 'mechan':256,410 'messag':259 'modif':330 'modular':388,412 'monolith':395 'network':359 'new':97 'non':325 'non-unix':324 'object':155 'object-ori':154 'often':367 'oper':9,98,377 'opt':104 'orient':156 'os':103 'perform':187,234,375 'pipelin':62 'platform':305,335 'portabl':287,312 'possess':46 'process':60 'program':23,92,114,129,144,157,284,349 'project':185 'prone':178 'provid':252,408 'rather':109 'redox':102 'relat':138 'reli':368 'requir':232,329 'reus':415,416 'reusabl':390 'robust':87,253 'run':332 'runtim':217 'scalabl':89 'scale':40 'script':4,189,269,315,317,392 'shell':45 'similar':107 'simpl':139 'size':404 'slower':192 'softwar':41 'standard':338,344 'strong':409 'structur':160 'suit':54 'support':280 'syntax':108,132,140,167 'system':10,99,297,327 'task':182,228,356 'text':63 'tool':277,371 'tradit':91 'ubiquit':7 'uniqu':47 'unix':295,326 'unix-lik':294 'util':373 'version':307 'well':53 'well-suit':52 'widespread':18 'wonder':15 'work':320"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1689167886
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/1041841"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689154886 {#1409
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
  +formDest: "entry"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 14.0 MiB 8.02 ms
Input props
[
  "subject" => App\Entity\Entry {#1585
    +user: App\Entity\User {#265
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#275
        date: 2023-11-18 06:29:42.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#253 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#238 …}
      +entries: Doctrine\ORM\PersistentCollection {#196 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#168 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#141 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#111 …}
      +posts: Doctrine\ORM\PersistentCollection {#84 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#99 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1863 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1479 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1658 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1868 …}
      +follows: Doctrine\ORM\PersistentCollection {#1917 …}
      +followers: Doctrine\ORM\PersistentCollection {#1601 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1805 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1857 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1860 …}
      +reports: Doctrine\ORM\PersistentCollection {#1791 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2416 …}
      +violations: Doctrine\ORM\PersistentCollection {#1824 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1914 …}
      +awards: Doctrine\ORM\PersistentCollection {#1929 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1867 …}
      +categories: Doctrine\ORM\PersistentCollection {#1880 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1894 …}
      +apId: "GodOfThunder@lemm.ee"
      +apProfileId: "https://lemm.ee/u/GodOfThunder"
      +apPublicUrl: "https://lemm.ee/u/GodOfThunder"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "GodOfThunder"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1700614404 {#269
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#268
        date: 2023-07-15 20:13:20.0 +02:00
      }
    }
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1731
      +icon: Proxies\__CG__\App\Entity\Image {#2316 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#2291
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#2313 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#2317 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2294 …}
      +entries: Doctrine\ORM\PersistentCollection {#2290 …}
      +posts: Doctrine\ORM\PersistentCollection {#2281 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2280 …}
      +bans: Doctrine\ORM\PersistentCollection {#2277 …}
      +reports: Doctrine\ORM\PersistentCollection {#2196 …}
      +badges: Doctrine\ORM\PersistentCollection {#2212 …}
      +logs: Doctrine\ORM\PersistentCollection {#2267 …}
      +awards: Doctrine\ORM\PersistentCollection {#2197 …}
      +categories: Doctrine\ORM\PersistentCollection {#2253 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#2309
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#2301
        date: 2023-11-02 13:51:08.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
    +slug: "Why-are-we-stuck-with-bash-programming-language-in-the"
    +title: "Why are we stuck with bash programming language in the shell?"
    +url: null
    +body: """
      Bash-like scripting has become ubiquitous in operating systems, and it makes me wonder about its widespread adoption despite lacking certain programming conveniences found in other languages. While it may not be the ideal choice for large-scale software development, the bash shell possesses unique features that make it well-suited for interactive command-line processing, including pipelining, text manipulation, and file handling. Why isn’t there an alternative that combines the best of bash’s command-line capabilities with the robustness and scalability of traditional programming languages. Why do even new operating systems, such as Redox OS, opt for a similar syntax rather than a completely different programming language?\n
      \n
      Here are some of the limitations I find in Bash compared to other programming languages:\n
      \n
      1. Syntax and Expressiveness:\n
          \n
          \n
          - Bash has a relatively simple syntax compared to other programming languages. It lacks some advanced language features such as object-oriented programming, complex data structures, and advanced control flow constructs.\n
          - The syntax of Bash can be less intuitive and more error-prone, especially for complex tasks or larger projects.\n
      2. Performance:\n
          \n
          \n
          - Bash scripts can be slower compared to compiled languages like C or Java. This is because Bash is an interpreted language, and each line of code is interpreted at runtime.\n
          - Bash may not be the best choice for computationally intensive tasks or applications that require high performance.\n
      3. Error Handling and Debugging:\n
          \n
          \n
          - Error handling and debugging in Bash can be challenging. Bash does not provide robust error handling mechanisms, and error messages can be cryptic and difficult to interpret.\n
          - Debugging Bash scripts can be cumbersome, as there is limited tooling and debugging support compared to other programming languages.\n
      4. Portability:\n
          \n
          \n
          - While Bash is available on most Unix-like systems, it may not be available on all platforms or versions. This can limit the portability of Bash scripts.\n
          - Bash scripts may not work as expected on non-Unix systems or require modifications to run on different platforms.\n
      5. Limited Standard Library:\n
          \n
          \n
          - Bash has a limited standard library compared to other programming languages. It lacks comprehensive libraries for tasks such as networking, database access, or advanced data manipulation.\n
          - Bash often relies on external tools or utilities to perform complex operations, which can introduce dependencies and compatibility issues.\n
      6. Lack of Modularity and Reusability:\n
          \n
          \n
          - Bash scripts can become monolithic and difficult to maintain as they grow in size. Bash does not provide strong mechanisms for modularization or code reuse.\n
          - Reusing code or creating libraries in Bash can be challenging, leading to code duplication and decreased maintainability.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 2
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699741250 {#1574
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1702 …}
    +votes: Doctrine\ORM\PersistentCollection {#1683 …}
    +reports: Doctrine\ORM\PersistentCollection {#1689 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1724 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1727 …}
    +badges: Doctrine\ORM\PersistentCollection {#2464 …}
    +children: []
    -id: 13188
    -titleTs: "'bash':6 'languag':8 'program':7 'shell':11 'stuck':4"
    -bodyTs: "'1':131 '2':186 '3':235 '4':286 '5':336 '6':385 'access':361 'adopt':19 'advanc':149,162,363 'altern':73 'applic':230 'avail':291,302 'bash':2,44,79,125,135,169,188,204,218,245,249,268,289,314,316,340,366,391,405,422 'bash-lik':1 'becom':6,394 'best':77,223 'c':198 'capabl':84 'certain':22 'challeng':248,425 'choic':36,224 'code':213,414,417,428 'combin':75 'command':58,82 'command-lin':57,81 'compar':126,141,193,281,346 'compat':383 'compil':195 'complet':112 'complex':158,181,376 'comprehens':353 'comput':226 'construct':165 'control':163 'conveni':24 'creat':419 'cryptic':262 'cumbersom':272 'data':159,364 'databas':360 'debug':239,243,267,279 'decreas':431 'depend':381 'despit':20 'develop':42 'differ':113,334 'difficult':264,397 'duplic':429 'error':177,236,240,254,258 'error-pron':176 'especi':179 'even':96 'expect':322 'express':134 'extern':370 'featur':48,151 'file':66 'find':123 'flow':164 'found':25 'grow':402 'handl':67,237,241,255 'high':233 'ideal':35 'includ':61 'intens':227 'interact':56 'interpret':207,215,266 'introduc':380 'intuit':173 'isn':69 'issu':384 'java':200 'lack':21,147,352,386 'languag':28,93,115,130,145,150,196,208,285,350 'larg':39 'large-scal':38 'larger':184 'lead':426 'less':172 'librari':339,345,354,420 'like':3,197,296 'limit':121,276,310,337,343 'line':59,83,211 'maintain':399,432 'make':13,50 'manipul':64,365 'may':31,219,299,318 'mechan':256,410 'messag':259 'modif':330 'modular':388,412 'monolith':395 'network':359 'new':97 'non':325 'non-unix':324 'object':155 'object-ori':154 'often':367 'oper':9,98,377 'opt':104 'orient':156 'os':103 'perform':187,234,375 'pipelin':62 'platform':305,335 'portabl':287,312 'possess':46 'process':60 'program':23,92,114,129,144,157,284,349 'project':185 'prone':178 'provid':252,408 'rather':109 'redox':102 'relat':138 'reli':368 'requir':232,329 'reus':415,416 'reusabl':390 'robust':87,253 'run':332 'runtim':217 'scalabl':89 'scale':40 'script':4,189,269,315,317,392 'shell':45 'similar':107 'simpl':139 'size':404 'slower':192 'softwar':41 'standard':338,344 'strong':409 'structur':160 'suit':54 'support':280 'syntax':108,132,140,167 'system':10,99,297,327 'task':182,228,356 'text':63 'tool':277,371 'tradit':91 'ubiquit':7 'uniqu':47 'unix':295,326 'unix-lik':294 'util':373 'version':307 'well':53 'well-suit':52 'widespread':18 'wonder':15 'work':320"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1689167886
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/1041841"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689154886 {#1409
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#2875
  +formDest: "entry"
  +subject: App\Entity\Entry {#1585
    +user: App\Entity\User {#265
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#275
        date: 2023-11-18 06:29:42.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#253 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#238 …}
      +entries: Doctrine\ORM\PersistentCollection {#196 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#168 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#141 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#111 …}
      +posts: Doctrine\ORM\PersistentCollection {#84 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#99 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1863 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1479 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1658 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1868 …}
      +follows: Doctrine\ORM\PersistentCollection {#1917 …}
      +followers: Doctrine\ORM\PersistentCollection {#1601 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1805 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1810 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1857 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1860 …}
      +reports: Doctrine\ORM\PersistentCollection {#1791 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2416 …}
      +violations: Doctrine\ORM\PersistentCollection {#1824 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1914 …}
      +awards: Doctrine\ORM\PersistentCollection {#1929 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1867 …}
      +categories: Doctrine\ORM\PersistentCollection {#1880 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1894 …}
      +apId: "GodOfThunder@lemm.ee"
      +apProfileId: "https://lemm.ee/u/GodOfThunder"
      +apPublicUrl: "https://lemm.ee/u/GodOfThunder"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemm.ee/inbox"
      +apDomain: "lemm.ee"
      +apPreferredUsername: "GodOfThunder"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1700614404 {#269
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#268
        date: 2023-07-15 20:13:20.0 +02:00
      }
    }
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1731
      +icon: Proxies\__CG__\App\Entity\Image {#2316 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#2291
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#2313 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#2317 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2294 …}
      +entries: Doctrine\ORM\PersistentCollection {#2290 …}
      +posts: Doctrine\ORM\PersistentCollection {#2281 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2280 …}
      +bans: Doctrine\ORM\PersistentCollection {#2277 …}
      +reports: Doctrine\ORM\PersistentCollection {#2196 …}
      +badges: Doctrine\ORM\PersistentCollection {#2212 …}
      +logs: Doctrine\ORM\PersistentCollection {#2267 …}
      +awards: Doctrine\ORM\PersistentCollection {#2197 …}
      +categories: Doctrine\ORM\PersistentCollection {#2253 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#2309
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#2301
        date: 2023-11-02 13:51:08.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
    +slug: "Why-are-we-stuck-with-bash-programming-language-in-the"
    +title: "Why are we stuck with bash programming language in the shell?"
    +url: null
    +body: """
      Bash-like scripting has become ubiquitous in operating systems, and it makes me wonder about its widespread adoption despite lacking certain programming conveniences found in other languages. While it may not be the ideal choice for large-scale software development, the bash shell possesses unique features that make it well-suited for interactive command-line processing, including pipelining, text manipulation, and file handling. Why isn’t there an alternative that combines the best of bash’s command-line capabilities with the robustness and scalability of traditional programming languages. Why do even new operating systems, such as Redox OS, opt for a similar syntax rather than a completely different programming language?\n
      \n
      Here are some of the limitations I find in Bash compared to other programming languages:\n
      \n
      1. Syntax and Expressiveness:\n
          \n
          \n
          - Bash has a relatively simple syntax compared to other programming languages. It lacks some advanced language features such as object-oriented programming, complex data structures, and advanced control flow constructs.\n
          - The syntax of Bash can be less intuitive and more error-prone, especially for complex tasks or larger projects.\n
      2. Performance:\n
          \n
          \n
          - Bash scripts can be slower compared to compiled languages like C or Java. This is because Bash is an interpreted language, and each line of code is interpreted at runtime.\n
          - Bash may not be the best choice for computationally intensive tasks or applications that require high performance.\n
      3. Error Handling and Debugging:\n
          \n
          \n
          - Error handling and debugging in Bash can be challenging. Bash does not provide robust error handling mechanisms, and error messages can be cryptic and difficult to interpret.\n
          - Debugging Bash scripts can be cumbersome, as there is limited tooling and debugging support compared to other programming languages.\n
      4. Portability:\n
          \n
          \n
          - While Bash is available on most Unix-like systems, it may not be available on all platforms or versions. This can limit the portability of Bash scripts.\n
          - Bash scripts may not work as expected on non-Unix systems or require modifications to run on different platforms.\n
      5. Limited Standard Library:\n
          \n
          \n
          - Bash has a limited standard library compared to other programming languages. It lacks comprehensive libraries for tasks such as networking, database access, or advanced data manipulation.\n
          - Bash often relies on external tools or utilities to perform complex operations, which can introduce dependencies and compatibility issues.\n
      6. Lack of Modularity and Reusability:\n
          \n
          \n
          - Bash scripts can become monolithic and difficult to maintain as they grow in size. Bash does not provide strong mechanisms for modularization or code reuse.\n
          - Reusing code or creating libraries in Bash can be challenging, leading to code duplication and decreased maintainability.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 2
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699741250 {#1574
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1702 …}
    +votes: Doctrine\ORM\PersistentCollection {#1683 …}
    +reports: Doctrine\ORM\PersistentCollection {#1689 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1724 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1727 …}
    +badges: Doctrine\ORM\PersistentCollection {#2464 …}
    +children: []
    -id: 13188
    -titleTs: "'bash':6 'languag':8 'program':7 'shell':11 'stuck':4"
    -bodyTs: "'1':131 '2':186 '3':235 '4':286 '5':336 '6':385 'access':361 'adopt':19 'advanc':149,162,363 'altern':73 'applic':230 'avail':291,302 'bash':2,44,79,125,135,169,188,204,218,245,249,268,289,314,316,340,366,391,405,422 'bash-lik':1 'becom':6,394 'best':77,223 'c':198 'capabl':84 'certain':22 'challeng':248,425 'choic':36,224 'code':213,414,417,428 'combin':75 'command':58,82 'command-lin':57,81 'compar':126,141,193,281,346 'compat':383 'compil':195 'complet':112 'complex':158,181,376 'comprehens':353 'comput':226 'construct':165 'control':163 'conveni':24 'creat':419 'cryptic':262 'cumbersom':272 'data':159,364 'databas':360 'debug':239,243,267,279 'decreas':431 'depend':381 'despit':20 'develop':42 'differ':113,334 'difficult':264,397 'duplic':429 'error':177,236,240,254,258 'error-pron':176 'especi':179 'even':96 'expect':322 'express':134 'extern':370 'featur':48,151 'file':66 'find':123 'flow':164 'found':25 'grow':402 'handl':67,237,241,255 'high':233 'ideal':35 'includ':61 'intens':227 'interact':56 'interpret':207,215,266 'introduc':380 'intuit':173 'isn':69 'issu':384 'java':200 'lack':21,147,352,386 'languag':28,93,115,130,145,150,196,208,285,350 'larg':39 'large-scal':38 'larger':184 'lead':426 'less':172 'librari':339,345,354,420 'like':3,197,296 'limit':121,276,310,337,343 'line':59,83,211 'maintain':399,432 'make':13,50 'manipul':64,365 'may':31,219,299,318 'mechan':256,410 'messag':259 'modif':330 'modular':388,412 'monolith':395 'network':359 'new':97 'non':325 'non-unix':324 'object':155 'object-ori':154 'often':367 'oper':9,98,377 'opt':104 'orient':156 'os':103 'perform':187,234,375 'pipelin':62 'platform':305,335 'portabl':287,312 'possess':46 'process':60 'program':23,92,114,129,144,157,284,349 'project':185 'prone':178 'provid':252,408 'rather':109 'redox':102 'relat':138 'reli':368 'requir':232,329 'reus':415,416 'reusabl':390 'robust':87,253 'run':332 'runtim':217 'scalabl':89 'scale':40 'script':4,189,269,315,317,392 'shell':45 'similar':107 'simpl':139 'size':404 'slower':192 'softwar':41 'standard':338,344 'strong':409 'structur':160 'suit':54 'support':280 'syntax':108,132,140,167 'system':10,99,297,327 'task':182,228,356 'text':63 'tool':277,371 'tradit':91 'ubiquit':7 'uniqu':47 'unix':295,326 'unix-lik':294 'util':373 'version':307 'well':53 'well-suit':52 'widespread':18 'wonder':15 'work':320"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1689167886
    +visibility: "visible             "
    +apId: "https://lemm.ee/post/1041841"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689154886 {#1409
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 14.0 MiB 0.21 ms
Input props
[
  "label" => "Sidebar position"
  "settingsKey" => "KBIN_GENERAL_SIDEBAR_POSITION"
  "values" => [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  "defaultValue" => "RIGHT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#3243
  +label: "Sidebar position"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SIDEBAR_POSITION"
  +values: [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  +defaultValue: "RIGHT"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.22 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3301
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3363
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.90 ms
Input props
[
  "label" => "Infinite scrolling"
  "help" => "Automatically load more content when you reach the bottom of the page."
  "settingsKey" => "KBIN_GENERAL_INFINITE_SCROLL"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3419
  +label: "Infinite scrolling"
  +help: "Automatically load more content when you reach the bottom of the page."
  +settingsKey: "KBIN_GENERAL_INFINITE_SCROLL"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Sticky navbar"
  "help" => "The navbar will stick to the top of the page when you scroll down."
  "settingsKey" => "KBIN_GENERAL_FIXED_NAVBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3478
  +label: "Sticky navbar"
  +help: "The navbar will stick to the top of the page when you scroll down."
  +settingsKey: "KBIN_GENERAL_FIXED_NAVBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3534
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.14 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3590
  +label: "Turbo mode (experimental)"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TURBO"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.22 ms
Input props
[
  "label" => "Mark new comments"
  "settingsKey" => "KBIN_MARK_NEW_COMMENTS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3648
  +label: "Mark new comments"
  +help: ""
  +settingsKey: "KBIN_MARK_NEW_COMMENTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Show "Support Us" block"
  "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3711
  +label: "Show "Support Us" block"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SUPPORT_US_BLOCK"
  +defaultValue: true
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.15 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3769
  +label: "Show subscribed users"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_USERS"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.16 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3825
  +label: "Show subscribed magazines"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_MAGAZINES"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.74 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3881
  +label: "Show subscribed domains"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_DOMAINS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3937
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_ENTRIES_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3993
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4049
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_USERS_AVATARS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4105
  +label: "Show magazines’ icons"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4161
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4217
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_POSTS_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 3.21 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4273
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_POSTS_SHOW_USERS_AVATARS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 14.0 MiB 0.54 ms
Input props
[
  "label" => "Comment reply position"
  "help" => "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  "settingsKey" => "KBIN_COMMENTS_REPLY_POSITION"
  "values" => [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  "defaultValue" => "TOP"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#4329
  +label: "Comment reply position"
  +help: "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  +settingsKey: "KBIN_COMMENTS_REPLY_POSITION"
  +values: [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  +defaultValue: "TOP"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.14 ms
Input props
[
  "label" => "Show Comment Avatars"
  "help" => "Display/hide user avatars when viewing comments on a single thread or post."
  "settingsKey" => "KBIN_COMMENTS_SHOW_USER_AVATAR"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4387
  +label: "Show Comment Avatars"
  +help: "Display/hide user avatars when viewing comments on a single thread or post."
  +settingsKey: "KBIN_COMMENTS_SHOW_USER_AVATAR"
  +defaultValue: true
  +reloadRequired: true
}
user_actions App\Twig\Components\UserActionsComponent 14.0 MiB 0.45 ms
Input props
[
  "user" => App\Entity\User {#265
    +avatar: null
    +cover: null
    +email: "GodOfThunder@lemm.ee"
    +username: "@GodOfThunder@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700285382 {#275
      date: 2023-11-18 06:29:42.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#253 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#249 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#238 …}
    +entries: Doctrine\ORM\PersistentCollection {#196 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#168 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#141 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#111 …}
    +posts: Doctrine\ORM\PersistentCollection {#84 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#99 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1863 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1479 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1658 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1868 …}
    +follows: Doctrine\ORM\PersistentCollection {#1917 …}
    +followers: Doctrine\ORM\PersistentCollection {#1601 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1805 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1810 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1857 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1860 …}
    +reports: Doctrine\ORM\PersistentCollection {#1791 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2416 …}
    +violations: Doctrine\ORM\PersistentCollection {#1824 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1914 …}
    +awards: Doctrine\ORM\PersistentCollection {#1929 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1867 …}
    +categories: Doctrine\ORM\PersistentCollection {#1880 …}
    -id: 28895
    -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1894 …}
    +apId: "GodOfThunder@lemm.ee"
    +apProfileId: "https://lemm.ee/u/GodOfThunder"
    +apPublicUrl: "https://lemm.ee/u/GodOfThunder"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "GodOfThunder"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1700614404 {#269
      date: 2023-11-22 01:53:24.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689444800 {#268
      date: 2023-07-15 20:13:20.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\UserActionsComponent {#4463
  +user: App\Entity\User {#265
    +avatar: null
    +cover: null
    +email: "GodOfThunder@lemm.ee"
    +username: "@GodOfThunder@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700285382 {#275
      date: 2023-11-18 06:29:42.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#253 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#249 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#238 …}
    +entries: Doctrine\ORM\PersistentCollection {#196 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#168 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#141 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#111 …}
    +posts: Doctrine\ORM\PersistentCollection {#84 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#99 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1863 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1479 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1658 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1868 …}
    +follows: Doctrine\ORM\PersistentCollection {#1917 …}
    +followers: Doctrine\ORM\PersistentCollection {#1601 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1805 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1810 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1857 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1860 …}
    +reports: Doctrine\ORM\PersistentCollection {#1791 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2416 …}
    +violations: Doctrine\ORM\PersistentCollection {#1824 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1914 …}
    +awards: Doctrine\ORM\PersistentCollection {#1929 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1867 …}
    +categories: Doctrine\ORM\PersistentCollection {#1880 …}
    -id: 28895
    -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1894 …}
    +apId: "GodOfThunder@lemm.ee"
    +apProfileId: "https://lemm.ee/u/GodOfThunder"
    +apPublicUrl: "https://lemm.ee/u/GodOfThunder"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemm.ee/inbox"
    +apDomain: "lemm.ee"
    +apPreferredUsername: "GodOfThunder"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1700614404 {#269
      date: 2023-11-22 01:53:24.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689444800 {#268
      date: 2023-07-15 20:13:20.0 +02:00
    }
  }
}
date App\Twig\Components\DateComponent 14.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1689444800 {#268
    date: 2023-07-15 20:13:20.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4524
  +date: DateTimeImmutable @1689444800 {#268
    date: 2023-07-15 20:13:20.0 +02:00
  }
}
related_magazines App\Twig\Components\RelatedMagazinesComponent 14.0 MiB 1.98 ms
Input props
[
  "magazine" => null
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#4611
  +limit: 4
  +tag: null
  +magazine: null
  +type: "random"
  +title: "random_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#1370 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
active_users App\Twig\Components\ActiveUsersComponent 14.0 MiB 0.25 ms
Input props
[
  "magazine" => null
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#4676
  +magazine: null
  -userRepository: App\Repository\UserRepository {#603 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_categories App\Twig\Components\RelatedCategoriesComponent 14.0 MiB 1.40 ms
Input props
[
  "magazine" => null
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#4735
  +limit: 4
  +tag: null
  +magazine: null
  +type: "random"
  +title: "random_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#4736 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_posts App\Twig\Components\RelatedPostsComponent 14.0 MiB 1.79 ms
Input props
[
  "magazine" => null
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#4806
  +limit: 4
  +tag: null
  +magazine: null
  +type: "random"
  +post: null
  +title: "random_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#4805 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#1504 …}
}
related_entries App\Twig\Components\RelatedEntriesComponent 14.0 MiB 1.51 ms
Input props
[
  "magazine" => null
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#4875
  +limit: 4
  +tag: null
  +magazine: null
  +type: "random"
  +entry: null
  +title: "random_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#1704 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#1504 …}
}
support_us_block App\Twig\Components\SupportUsBlock 14.0 MiB 0.23 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#4944
  +subject: ? App\Entity\Contracts\VotableInterface
  +url: ? string
  -twig: Twig\Environment {#1252 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -partnerBlockRepository: App\Repository\PartnerBlockRepository {#4945 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 14.0 MiB 0.92 ms
Input props
[
  "magazine" => null
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#5037
  +magazine: null
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#1370 …}
}