Components

24 Twig Components
58 Render Count
86 ms Render Time
12.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 1.92ms
date
"App\Twig\Components\DateComponent"
components/date.html.twig
5 0.85ms
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
4 1.07ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 0.68ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
3 0.32ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
3 6.22ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
3 2.82ms
entry_comment
"App\Twig\Components\EntryCommentComponent"
components/entry_comment.html.twig
2 32.83ms
user_avatar
"App\Twig\Components\UserAvatarComponent"
components/user_avatar.html.twig
2 0.76ms
entry_comments_nested
"App\Twig\Components\EntryCommentsNestedComponent"
components/_cached.html.twig
2 1.33ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 0.35ms
entry
"App\Twig\Components\EntryComponent"
components/_cached.html.twig
1 7.17ms
entries_cross
"App\Twig\Components\EntriesCrossComponent"
components/_cached.html.twig
1 28.84ms
editor_toolbar
"App\Twig\Components\EditorToolbarComponent"
components/editor_toolbar.html.twig
1 0.23ms
user_actions
"App\Twig\Components\UserActionsComponent"
components/user_actions.html.twig
1 0.42ms
magazine_box
"App\Twig\Components\MagazineBoxComponent"
components/magazine_box.html.twig
1 6.73ms
magazine_sub
"App\Twig\Components\MagazineSubComponent"
components/magazine_sub.html.twig
1 0.42ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 1.92ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 0.21ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 1.26ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 1.28ms
related_entries
"App\Twig\Components\RelatedEntriesComponent"
components/_cached.html.twig
1 1.31ms
support_us_block
"App\Twig\Components\SupportUsBlock"
components/_cached.html.twig
1 0.19ms
featured_magazines
"App\Twig\Components\FeaturedMagazinesComponent"
components/_cached.html.twig
1 0.72ms

Render calls

entry App\Twig\Components\EntryComponent 12.0 MiB 7.17 ms
Input props
[
  "entry" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#1515
        date: 2023-07-15 20:13:20.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +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 {#1850
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
  "isSingle" => true
  "showShortSentence" => false
  "showBody" => true
]
Attributes
[
  "class" => "entry--single section--top"
]
Component
App\Twig\Components\EntryComponent {#2954
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
  -newCommentMarkerCount: App\Kbin\NewCommentMarker\NewCommentMarkerCount {#2955 …}
  -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 {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#1515
        date: 2023-07-15 20:13:20.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +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 {#1850
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
  +isSingle: true
  +showShortSentence: false
  +showBody: true
  +showMagazineName: false
  +canSeeTrash: false
  +newComments: 0
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.29 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1943
    +avatar: null
    +cover: null
    +email: "GodOfThunder@lemm.ee"
    +username: "@GodOfThunder@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700285382 {#1537
      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 {#1516 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
    +entries: Doctrine\ORM\PersistentCollection {#1623 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
    +posts: Doctrine\ORM\PersistentCollection {#1657 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
    +follows: Doctrine\ORM\PersistentCollection {#1635 …}
    +followers: Doctrine\ORM\PersistentCollection {#1633 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
    +reports: Doctrine\ORM\PersistentCollection {#1419 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
    +violations: Doctrine\ORM\PersistentCollection {#1429 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
    +awards: Doctrine\ORM\PersistentCollection {#1435 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
    +categories: Doctrine\ORM\PersistentCollection {#1647 …}
    -id: 28895
    -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
    +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 {#1536
      date: 2023-11-22 01:53:24.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689444800 {#1515
      date: 2023-07-15 20:13:20.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#3251
  +user: Proxies\__CG__\App\Entity\User {#1943
    +avatar: null
    +cover: null
    +email: "GodOfThunder@lemm.ee"
    +username: "@GodOfThunder@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700285382 {#1537
      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 {#1516 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
    +entries: Doctrine\ORM\PersistentCollection {#1623 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
    +posts: Doctrine\ORM\PersistentCollection {#1657 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
    +follows: Doctrine\ORM\PersistentCollection {#1635 …}
    +followers: Doctrine\ORM\PersistentCollection {#1633 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
    +reports: Doctrine\ORM\PersistentCollection {#1419 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
    +violations: Doctrine\ORM\PersistentCollection {#1429 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
    +awards: Doctrine\ORM\PersistentCollection {#1435 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
    +categories: Doctrine\ORM\PersistentCollection {#1647 …}
    -id: 28895
    -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
    +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 {#1536
      date: 2023-11-22 01:53:24.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689444800 {#1515
      date: 2023-07-15 20:13:20.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.34 ms
Input props
[
  "date" => DateTimeImmutable @1689154886 {#1850
    date: 2023-07-12 11:41:26.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#3321
  +date: DateTimeImmutable @1689154886 {#1850
    date: 2023-07-12 11:41:26.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.14 ms
Input props
[
  "createdAt" => DateTimeImmutable @1689154886 {#1850
    date: 2023-07-12 11:41:26.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#3385
  +createdAt: DateTimeImmutable @1689154886 {#1850
    date: 2023-07-12 11:41:26.0 +02:00
  }
  +editedAt: null
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.46 ms
Input props
[
  "subject" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#1515
        date: 2023-07-15 20:13:20.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +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 {#1850
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#3450
  +subject: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#1515
        date: 2023-07-15 20:13:20.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +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 {#1850
      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 12.0 MiB 1.18 ms
Input props
[
  "subject" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#1515
        date: 2023-07-15 20:13:20.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +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 {#1850
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#3516
  +formDest: "entry"
  +subject: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#1515
        date: 2023-07-15 20:13:20.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +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 {#1850
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entries_cross App\Twig\Components\EntriesCrossComponent 12.0 MiB 28.84 ms
Input props
[
  "entry" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#1515
        date: 2023-07-15 20:13:20.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +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 {#1850
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\EntriesCrossComponent {#3830
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "GodOfThunder@lemm.ee"
      +username: "@GodOfThunder@lemm.ee"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1700285382 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 28895
      -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-11-22 01:53:24.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689444800 {#1515
        date: 2023-07-15 20:13:20.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +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 {#1850
      date: 2023-07-12 11:41:26.0 +02:00
    }
  }
  -repository: App\Repository\EntryRepository {#271 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
}
editor_toolbar App\Twig\Components\EditorToolbarComponent 12.0 MiB 0.23 ms
Input props
[
  "id" => "entry_comment_67ccfc5daa2900.55442733_body"
]
Attributes
[]
Component
App\Twig\Components\EditorToolbarComponent {#3955
  +id: "entry_comment_67ccfc5daa2900.55442733_body"
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 9.24 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4159
    +user: App\Entity\User {#4108
      +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
      +cover: null
      +email: "corytheboyd@kbin.social"
      +username: "@corytheboyd@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Computer guy, occasional gamer, shitty music producer. Denver, CO\n
        \n
        <https://corytheboyd.com>
        """
      +lastActive: DateTime @1705476580 {#4167
        date: 2024-01-17 08:29:40.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 {#4112 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
      +entries: Doctrine\ORM\PersistentCollection {#4101 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
      +posts: Doctrine\ORM\PersistentCollection {#4091 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
      +follows: Doctrine\ORM\PersistentCollection {#4077 …}
      +followers: Doctrine\ORM\PersistentCollection {#4075 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
      +reports: Doctrine\ORM\PersistentCollection {#4188 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
      +violations: Doctrine\ORM\PersistentCollection {#4224 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
      +awards: Doctrine\ORM\PersistentCollection {#4218 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
      +categories: Doctrine\ORM\PersistentCollection {#4216 …}
      -id: 12510
      -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
      +apId: "corytheboyd@kbin.social"
      +apProfileId: "https://kbin.social/u/corytheboyd"
      +apPublicUrl: "https://kbin.social/u/corytheboyd"
      +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "corytheboyd"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1707140628 {#4163
        date: 2024-02-05 14:43:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1688056274 {#4161
        date: 2023-06-29 18:31:14.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      It’s here, it’s there, it’s everywhere. The problem with replacing things that work with something “better” is that “better” is subjective, so you end up with a new “better” way every few years, and maintaining existing systems becomes a god awful slog. See the JavaScript ecosystem.\n
      \n
      The bash I wrote 10 years ago still works today, and it will still work in 10 more years. The same bash will very likely work on your computer, on a remote server, etc. This is the power of not chasing “better” all the time.\n
      \n
      Try running a Ruby or Node program from 10 years ago today on your computer. Now, try running it on a random Linux server.\n
      \n
      Please do not take this as a slight against Ruby or Node, or any other high level programming language. Bash compared to those is simply apples and oranges, they are not the same thing.\n
      \n
      By all means, if you have a project that requires a Ruby runtime anyway, write operational scripts with Ruby, run them with Rake, etc.\n
      \n
      Want a portable script that doesn’t depend on a complex runtime? Use bash.\n
      \n
      If bash is too limiting, use Perl. No, seriously. Perl is fine. It is about as ubiquitously available as bash, and the standard library likely has what you need to get the job done. People blindly dismiss Perl because some blog post told them to, usually in the context of writing application code. You’re not writing application code, you’re writing scripts. Would you write an application with bash? No.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1689169109 {#4168
      date: 2023-07-12 15:38:29.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4157 …}
    +nested: Doctrine\ORM\PersistentCollection {#4155 …}
    +votes: Doctrine\ORM\PersistentCollection {#4153 …}
    +reports: Doctrine\ORM\PersistentCollection {#4151 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4119 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4123 …}
    -id: 136609
    -bodyTs: "'10':54,66,103 'ago':56,105 'anyway':166 'appl':144 'applic':242,248,258 'avail':208 'aw':44 'bash':51,71,138,190,192,210,260 'becom':41 'better':19,22,32,91 'blind':226 'blog':231 'chase':90 'code':243,249 'compar':139 'complex':187 'comput':78,109 'context':239 'depend':184 'dismiss':227 'doesn':182 'done':224 'ecosystem':49 'end':27 'etc':83,176 'everi':34 'everywher':9 'exist':39 'fine':202 'get':221 'god':43 'high':134 'javascript':48 'job':223 'languag':137 'level':135 'librari':214 'like':74,215 'limit':195 'linux':117 'maintain':38 'mean':155 'need':219 'new':31 'node':100,130 'oper':168 'orang':146 'peopl':225 'perl':197,200,228 'pleas':119 'portabl':179 'post':232 'power':87 'problem':11 'program':101,136 'project':160 'rake':175 'random':116 're':245,251 'remot':81 'replac':13 'requir':162 'rubi':98,128,164,171 'run':96,112,172 'runtim':165,188 'script':169,180,253 'see':46 'serious':199 'server':82,118 'simpli':143 'slight':126 'slog':45 'someth':18 'standard':213 'still':57,63 'subject':24 'system':40 'take':122 'thing':14,152 'time':94 'today':59,106 'told':233 'tri':95,111 'ubiquit':207 'use':189,196 'usual':236 'want':177 'way':33 'work':16,58,64,75 'would':254 'write':167,241,247,252,256 'wrote':53 'year':36,55,68,104"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/181561/-/comment/729512"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689169109 {#4100
      date: 2023-07-12 15:38:29.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#4277
  +comment: App\Entity\EntryComment {#4159
    +user: App\Entity\User {#4108
      +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
      +cover: null
      +email: "corytheboyd@kbin.social"
      +username: "@corytheboyd@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Computer guy, occasional gamer, shitty music producer. Denver, CO\n
        \n
        <https://corytheboyd.com>
        """
      +lastActive: DateTime @1705476580 {#4167
        date: 2024-01-17 08:29:40.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 {#4112 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
      +entries: Doctrine\ORM\PersistentCollection {#4101 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
      +posts: Doctrine\ORM\PersistentCollection {#4091 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
      +follows: Doctrine\ORM\PersistentCollection {#4077 …}
      +followers: Doctrine\ORM\PersistentCollection {#4075 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
      +reports: Doctrine\ORM\PersistentCollection {#4188 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
      +violations: Doctrine\ORM\PersistentCollection {#4224 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
      +awards: Doctrine\ORM\PersistentCollection {#4218 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
      +categories: Doctrine\ORM\PersistentCollection {#4216 …}
      -id: 12510
      -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
      +apId: "corytheboyd@kbin.social"
      +apProfileId: "https://kbin.social/u/corytheboyd"
      +apPublicUrl: "https://kbin.social/u/corytheboyd"
      +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "corytheboyd"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1707140628 {#4163
        date: 2024-02-05 14:43:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1688056274 {#4161
        date: 2023-06-29 18:31:14.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      It’s here, it’s there, it’s everywhere. The problem with replacing things that work with something “better” is that “better” is subjective, so you end up with a new “better” way every few years, and maintaining existing systems becomes a god awful slog. See the JavaScript ecosystem.\n
      \n
      The bash I wrote 10 years ago still works today, and it will still work in 10 more years. The same bash will very likely work on your computer, on a remote server, etc. This is the power of not chasing “better” all the time.\n
      \n
      Try running a Ruby or Node program from 10 years ago today on your computer. Now, try running it on a random Linux server.\n
      \n
      Please do not take this as a slight against Ruby or Node, or any other high level programming language. Bash compared to those is simply apples and oranges, they are not the same thing.\n
      \n
      By all means, if you have a project that requires a Ruby runtime anyway, write operational scripts with Ruby, run them with Rake, etc.\n
      \n
      Want a portable script that doesn’t depend on a complex runtime? Use bash.\n
      \n
      If bash is too limiting, use Perl. No, seriously. Perl is fine. It is about as ubiquitously available as bash, and the standard library likely has what you need to get the job done. People blindly dismiss Perl because some blog post told them to, usually in the context of writing application code. You’re not writing application code, you’re writing scripts. Would you write an application with bash? No.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1689169109 {#4168
      date: 2023-07-12 15:38:29.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4157 …}
    +nested: Doctrine\ORM\PersistentCollection {#4155 …}
    +votes: Doctrine\ORM\PersistentCollection {#4153 …}
    +reports: Doctrine\ORM\PersistentCollection {#4151 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4119 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4123 …}
    -id: 136609
    -bodyTs: "'10':54,66,103 'ago':56,105 'anyway':166 'appl':144 'applic':242,248,258 'avail':208 'aw':44 'bash':51,71,138,190,192,210,260 'becom':41 'better':19,22,32,91 'blind':226 'blog':231 'chase':90 'code':243,249 'compar':139 'complex':187 'comput':78,109 'context':239 'depend':184 'dismiss':227 'doesn':182 'done':224 'ecosystem':49 'end':27 'etc':83,176 'everi':34 'everywher':9 'exist':39 'fine':202 'get':221 'god':43 'high':134 'javascript':48 'job':223 'languag':137 'level':135 'librari':214 'like':74,215 'limit':195 'linux':117 'maintain':38 'mean':155 'need':219 'new':31 'node':100,130 'oper':168 'orang':146 'peopl':225 'perl':197,200,228 'pleas':119 'portabl':179 'post':232 'power':87 'problem':11 'program':101,136 'project':160 'rake':175 'random':116 're':245,251 'remot':81 'replac':13 'requir':162 'rubi':98,128,164,171 'run':96,112,172 'runtim':165,188 'script':169,180,253 'see':46 'serious':199 'server':82,118 'simpli':143 'slight':126 'slog':45 'someth':18 'standard':213 'still':57,63 'subject':24 'system':40 'take':122 'thing':14,152 'time':94 'today':59,106 'told':233 'tri':95,111 'ubiquit':207 'use':189,196 'usual':236 'want':177 'way':33 'work':16,58,64,75 'would':254 'write':167,241,247,252,256 'wrote':53 'year':36,55,68,104"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/181561/-/comment/729512"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689169109 {#4100
      date: 2023-07-12 15:38:29.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#4108
    +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
    +cover: null
    +email: "corytheboyd@kbin.social"
    +username: "@corytheboyd@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Computer guy, occasional gamer, shitty music producer. Denver, CO\n
      \n
      <https://corytheboyd.com>
      """
    +lastActive: DateTime @1705476580 {#4167
      date: 2024-01-17 08:29:40.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 {#4112 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
    +entries: Doctrine\ORM\PersistentCollection {#4101 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
    +posts: Doctrine\ORM\PersistentCollection {#4091 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
    +follows: Doctrine\ORM\PersistentCollection {#4077 …}
    +followers: Doctrine\ORM\PersistentCollection {#4075 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
    +reports: Doctrine\ORM\PersistentCollection {#4188 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
    +violations: Doctrine\ORM\PersistentCollection {#4224 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
    +awards: Doctrine\ORM\PersistentCollection {#4218 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
    +categories: Doctrine\ORM\PersistentCollection {#4216 …}
    -id: 12510
    -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
    +apId: "corytheboyd@kbin.social"
    +apProfileId: "https://kbin.social/u/corytheboyd"
    +apPublicUrl: "https://kbin.social/u/corytheboyd"
    +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "corytheboyd"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1707140628 {#4163
      date: 2024-02-05 14:43:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1688056274 {#4161
      date: 2023-06-29 18:31:14.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#4345
  +user: App\Entity\User {#4108
    +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
    +cover: null
    +email: "corytheboyd@kbin.social"
    +username: "@corytheboyd@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Computer guy, occasional gamer, shitty music producer. Denver, CO\n
      \n
      <https://corytheboyd.com>
      """
    +lastActive: DateTime @1705476580 {#4167
      date: 2024-01-17 08:29:40.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 {#4112 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
    +entries: Doctrine\ORM\PersistentCollection {#4101 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
    +posts: Doctrine\ORM\PersistentCollection {#4091 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
    +follows: Doctrine\ORM\PersistentCollection {#4077 …}
    +followers: Doctrine\ORM\PersistentCollection {#4075 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
    +reports: Doctrine\ORM\PersistentCollection {#4188 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
    +violations: Doctrine\ORM\PersistentCollection {#4224 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
    +awards: Doctrine\ORM\PersistentCollection {#4218 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
    +categories: Doctrine\ORM\PersistentCollection {#4216 …}
    -id: 12510
    -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
    +apId: "corytheboyd@kbin.social"
    +apProfileId: "https://kbin.social/u/corytheboyd"
    +apPublicUrl: "https://kbin.social/u/corytheboyd"
    +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "corytheboyd"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1707140628 {#4163
      date: 2024-02-05 14:43:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1688056274 {#4161
      date: 2023-06-29 18:31:14.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1689169109 {#4100
    date: 2023-07-12 15:38:29.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4400
  +date: DateTimeImmutable @1689169109 {#4100
    date: 2023-07-12 15:38:29.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1689169109 {#4100
    date: 2023-07-12 15:38:29.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#4454
  +createdAt: DateTimeImmutable @1689169109 {#4100
    date: 2023-07-12 15:38:29.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.59 ms
Input props
[
  "user" => App\Entity\User {#4108
    +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
    +cover: null
    +email: "corytheboyd@kbin.social"
    +username: "@corytheboyd@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Computer guy, occasional gamer, shitty music producer. Denver, CO\n
      \n
      <https://corytheboyd.com>
      """
    +lastActive: DateTime @1705476580 {#4167
      date: 2024-01-17 08:29:40.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 {#4112 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
    +entries: Doctrine\ORM\PersistentCollection {#4101 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
    +posts: Doctrine\ORM\PersistentCollection {#4091 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
    +follows: Doctrine\ORM\PersistentCollection {#4077 …}
    +followers: Doctrine\ORM\PersistentCollection {#4075 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
    +reports: Doctrine\ORM\PersistentCollection {#4188 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
    +violations: Doctrine\ORM\PersistentCollection {#4224 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
    +awards: Doctrine\ORM\PersistentCollection {#4218 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
    +categories: Doctrine\ORM\PersistentCollection {#4216 …}
    -id: 12510
    -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
    +apId: "corytheboyd@kbin.social"
    +apProfileId: "https://kbin.social/u/corytheboyd"
    +apPublicUrl: "https://kbin.social/u/corytheboyd"
    +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "corytheboyd"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1707140628 {#4163
      date: 2024-02-05 14:43:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1688056274 {#4161
      date: 2023-06-29 18:31:14.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#4510
  +width: 40
  +height: 40
  +user: App\Entity\User {#4108
    +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
    +cover: null
    +email: "corytheboyd@kbin.social"
    +username: "@corytheboyd@kbin.social"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Computer guy, occasional gamer, shitty music producer. Denver, CO\n
      \n
      <https://corytheboyd.com>
      """
    +lastActive: DateTime @1705476580 {#4167
      date: 2024-01-17 08:29:40.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 {#4112 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
    +entries: Doctrine\ORM\PersistentCollection {#4101 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
    +posts: Doctrine\ORM\PersistentCollection {#4091 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
    +follows: Doctrine\ORM\PersistentCollection {#4077 …}
    +followers: Doctrine\ORM\PersistentCollection {#4075 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
    +reports: Doctrine\ORM\PersistentCollection {#4188 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
    +violations: Doctrine\ORM\PersistentCollection {#4224 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
    +awards: Doctrine\ORM\PersistentCollection {#4218 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
    +categories: Doctrine\ORM\PersistentCollection {#4216 …}
    -id: 12510
    -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
    +apId: "corytheboyd@kbin.social"
    +apProfileId: "https://kbin.social/u/corytheboyd"
    +apPublicUrl: "https://kbin.social/u/corytheboyd"
    +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
    +apInboxUrl: "https://kbin.social/f/inbox"
    +apDomain: "kbin.social"
    +apPreferredUsername: "corytheboyd"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1707140628 {#4163
      date: 2024-02-05 14:43:48.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1688056274 {#4161
      date: 2023-06-29 18:31:14.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.35 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4159
    +user: App\Entity\User {#4108
      +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
      +cover: null
      +email: "corytheboyd@kbin.social"
      +username: "@corytheboyd@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Computer guy, occasional gamer, shitty music producer. Denver, CO\n
        \n
        <https://corytheboyd.com>
        """
      +lastActive: DateTime @1705476580 {#4167
        date: 2024-01-17 08:29:40.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 {#4112 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
      +entries: Doctrine\ORM\PersistentCollection {#4101 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
      +posts: Doctrine\ORM\PersistentCollection {#4091 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
      +follows: Doctrine\ORM\PersistentCollection {#4077 …}
      +followers: Doctrine\ORM\PersistentCollection {#4075 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
      +reports: Doctrine\ORM\PersistentCollection {#4188 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
      +violations: Doctrine\ORM\PersistentCollection {#4224 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
      +awards: Doctrine\ORM\PersistentCollection {#4218 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
      +categories: Doctrine\ORM\PersistentCollection {#4216 …}
      -id: 12510
      -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
      +apId: "corytheboyd@kbin.social"
      +apProfileId: "https://kbin.social/u/corytheboyd"
      +apPublicUrl: "https://kbin.social/u/corytheboyd"
      +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "corytheboyd"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1707140628 {#4163
        date: 2024-02-05 14:43:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1688056274 {#4161
        date: 2023-06-29 18:31:14.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      It’s here, it’s there, it’s everywhere. The problem with replacing things that work with something “better” is that “better” is subjective, so you end up with a new “better” way every few years, and maintaining existing systems becomes a god awful slog. See the JavaScript ecosystem.\n
      \n
      The bash I wrote 10 years ago still works today, and it will still work in 10 more years. The same bash will very likely work on your computer, on a remote server, etc. This is the power of not chasing “better” all the time.\n
      \n
      Try running a Ruby or Node program from 10 years ago today on your computer. Now, try running it on a random Linux server.\n
      \n
      Please do not take this as a slight against Ruby or Node, or any other high level programming language. Bash compared to those is simply apples and oranges, they are not the same thing.\n
      \n
      By all means, if you have a project that requires a Ruby runtime anyway, write operational scripts with Ruby, run them with Rake, etc.\n
      \n
      Want a portable script that doesn’t depend on a complex runtime? Use bash.\n
      \n
      If bash is too limiting, use Perl. No, seriously. Perl is fine. It is about as ubiquitously available as bash, and the standard library likely has what you need to get the job done. People blindly dismiss Perl because some blog post told them to, usually in the context of writing application code. You’re not writing application code, you’re writing scripts. Would you write an application with bash? No.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1689169109 {#4168
      date: 2023-07-12 15:38:29.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4157 …}
    +nested: Doctrine\ORM\PersistentCollection {#4155 …}
    +votes: Doctrine\ORM\PersistentCollection {#4153 …}
    +reports: Doctrine\ORM\PersistentCollection {#4151 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4119 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4123 …}
    -id: 136609
    -bodyTs: "'10':54,66,103 'ago':56,105 'anyway':166 'appl':144 'applic':242,248,258 'avail':208 'aw':44 'bash':51,71,138,190,192,210,260 'becom':41 'better':19,22,32,91 'blind':226 'blog':231 'chase':90 'code':243,249 'compar':139 'complex':187 'comput':78,109 'context':239 'depend':184 'dismiss':227 'doesn':182 'done':224 'ecosystem':49 'end':27 'etc':83,176 'everi':34 'everywher':9 'exist':39 'fine':202 'get':221 'god':43 'high':134 'javascript':48 'job':223 'languag':137 'level':135 'librari':214 'like':74,215 'limit':195 'linux':117 'maintain':38 'mean':155 'need':219 'new':31 'node':100,130 'oper':168 'orang':146 'peopl':225 'perl':197,200,228 'pleas':119 'portabl':179 'post':232 'power':87 'problem':11 'program':101,136 'project':160 'rake':175 'random':116 're':245,251 'remot':81 'replac':13 'requir':162 'rubi':98,128,164,171 'run':96,112,172 'runtim':165,188 'script':169,180,253 'see':46 'serious':199 'server':82,118 'simpli':143 'slight':126 'slog':45 'someth':18 'standard':213 'still':57,63 'subject':24 'system':40 'take':122 'thing':14,152 'time':94 'today':59,106 'told':233 'tri':95,111 'ubiquit':207 'use':189,196 'usual':236 'want':177 'way':33 'work':16,58,64,75 'would':254 'write':167,241,247,252,256 'wrote':53 'year':36,55,68,104"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/181561/-/comment/729512"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689169109 {#4100
      date: 2023-07-12 15:38:29.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#4619
  +subject: App\Entity\EntryComment {#4159
    +user: App\Entity\User {#4108
      +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
      +cover: null
      +email: "corytheboyd@kbin.social"
      +username: "@corytheboyd@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Computer guy, occasional gamer, shitty music producer. Denver, CO\n
        \n
        <https://corytheboyd.com>
        """
      +lastActive: DateTime @1705476580 {#4167
        date: 2024-01-17 08:29:40.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 {#4112 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
      +entries: Doctrine\ORM\PersistentCollection {#4101 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
      +posts: Doctrine\ORM\PersistentCollection {#4091 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
      +follows: Doctrine\ORM\PersistentCollection {#4077 …}
      +followers: Doctrine\ORM\PersistentCollection {#4075 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
      +reports: Doctrine\ORM\PersistentCollection {#4188 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
      +violations: Doctrine\ORM\PersistentCollection {#4224 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
      +awards: Doctrine\ORM\PersistentCollection {#4218 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
      +categories: Doctrine\ORM\PersistentCollection {#4216 …}
      -id: 12510
      -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
      +apId: "corytheboyd@kbin.social"
      +apProfileId: "https://kbin.social/u/corytheboyd"
      +apPublicUrl: "https://kbin.social/u/corytheboyd"
      +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "corytheboyd"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1707140628 {#4163
        date: 2024-02-05 14:43:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1688056274 {#4161
        date: 2023-06-29 18:31:14.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      It’s here, it’s there, it’s everywhere. The problem with replacing things that work with something “better” is that “better” is subjective, so you end up with a new “better” way every few years, and maintaining existing systems becomes a god awful slog. See the JavaScript ecosystem.\n
      \n
      The bash I wrote 10 years ago still works today, and it will still work in 10 more years. The same bash will very likely work on your computer, on a remote server, etc. This is the power of not chasing “better” all the time.\n
      \n
      Try running a Ruby or Node program from 10 years ago today on your computer. Now, try running it on a random Linux server.\n
      \n
      Please do not take this as a slight against Ruby or Node, or any other high level programming language. Bash compared to those is simply apples and oranges, they are not the same thing.\n
      \n
      By all means, if you have a project that requires a Ruby runtime anyway, write operational scripts with Ruby, run them with Rake, etc.\n
      \n
      Want a portable script that doesn’t depend on a complex runtime? Use bash.\n
      \n
      If bash is too limiting, use Perl. No, seriously. Perl is fine. It is about as ubiquitously available as bash, and the standard library likely has what you need to get the job done. People blindly dismiss Perl because some blog post told them to, usually in the context of writing application code. You’re not writing application code, you’re writing scripts. Would you write an application with bash? No.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1689169109 {#4168
      date: 2023-07-12 15:38:29.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4157 …}
    +nested: Doctrine\ORM\PersistentCollection {#4155 …}
    +votes: Doctrine\ORM\PersistentCollection {#4153 …}
    +reports: Doctrine\ORM\PersistentCollection {#4151 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4119 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4123 …}
    -id: 136609
    -bodyTs: "'10':54,66,103 'ago':56,105 'anyway':166 'appl':144 'applic':242,248,258 'avail':208 'aw':44 'bash':51,71,138,190,192,210,260 'becom':41 'better':19,22,32,91 'blind':226 'blog':231 'chase':90 'code':243,249 'compar':139 'complex':187 'comput':78,109 'context':239 'depend':184 'dismiss':227 'doesn':182 'done':224 'ecosystem':49 'end':27 'etc':83,176 'everi':34 'everywher':9 'exist':39 'fine':202 'get':221 'god':43 'high':134 'javascript':48 'job':223 'languag':137 'level':135 'librari':214 'like':74,215 'limit':195 'linux':117 'maintain':38 'mean':155 'need':219 'new':31 'node':100,130 'oper':168 'orang':146 'peopl':225 'perl':197,200,228 'pleas':119 'portabl':179 'post':232 'power':87 'problem':11 'program':101,136 'project':160 'rake':175 'random':116 're':245,251 'remot':81 'replac':13 'requir':162 'rubi':98,128,164,171 'run':96,112,172 'runtim':165,188 'script':169,180,253 'see':46 'serious':199 'server':82,118 'simpli':143 'slight':126 'slog':45 'someth':18 'standard':213 'still':57,63 'subject':24 'system':40 'take':122 'thing':14,152 'time':94 'today':59,106 'told':233 'tri':95,111 'ubiquit':207 'use':189,196 'usual':236 'want':177 'way':33 'work':16,58,64,75 'would':254 'write':167,241,247,252,256 'wrote':53 'year':36,55,68,104"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/181561/-/comment/729512"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689169109 {#4100
      date: 2023-07-12 15:38:29.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.94 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4159
    +user: App\Entity\User {#4108
      +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
      +cover: null
      +email: "corytheboyd@kbin.social"
      +username: "@corytheboyd@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Computer guy, occasional gamer, shitty music producer. Denver, CO\n
        \n
        <https://corytheboyd.com>
        """
      +lastActive: DateTime @1705476580 {#4167
        date: 2024-01-17 08:29:40.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 {#4112 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
      +entries: Doctrine\ORM\PersistentCollection {#4101 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
      +posts: Doctrine\ORM\PersistentCollection {#4091 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
      +follows: Doctrine\ORM\PersistentCollection {#4077 …}
      +followers: Doctrine\ORM\PersistentCollection {#4075 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
      +reports: Doctrine\ORM\PersistentCollection {#4188 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
      +violations: Doctrine\ORM\PersistentCollection {#4224 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
      +awards: Doctrine\ORM\PersistentCollection {#4218 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
      +categories: Doctrine\ORM\PersistentCollection {#4216 …}
      -id: 12510
      -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
      +apId: "corytheboyd@kbin.social"
      +apProfileId: "https://kbin.social/u/corytheboyd"
      +apPublicUrl: "https://kbin.social/u/corytheboyd"
      +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "corytheboyd"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1707140628 {#4163
        date: 2024-02-05 14:43:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1688056274 {#4161
        date: 2023-06-29 18:31:14.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      It’s here, it’s there, it’s everywhere. The problem with replacing things that work with something “better” is that “better” is subjective, so you end up with a new “better” way every few years, and maintaining existing systems becomes a god awful slog. See the JavaScript ecosystem.\n
      \n
      The bash I wrote 10 years ago still works today, and it will still work in 10 more years. The same bash will very likely work on your computer, on a remote server, etc. This is the power of not chasing “better” all the time.\n
      \n
      Try running a Ruby or Node program from 10 years ago today on your computer. Now, try running it on a random Linux server.\n
      \n
      Please do not take this as a slight against Ruby or Node, or any other high level programming language. Bash compared to those is simply apples and oranges, they are not the same thing.\n
      \n
      By all means, if you have a project that requires a Ruby runtime anyway, write operational scripts with Ruby, run them with Rake, etc.\n
      \n
      Want a portable script that doesn’t depend on a complex runtime? Use bash.\n
      \n
      If bash is too limiting, use Perl. No, seriously. Perl is fine. It is about as ubiquitously available as bash, and the standard library likely has what you need to get the job done. People blindly dismiss Perl because some blog post told them to, usually in the context of writing application code. You’re not writing application code, you’re writing scripts. Would you write an application with bash? No.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1689169109 {#4168
      date: 2023-07-12 15:38:29.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4157 …}
    +nested: Doctrine\ORM\PersistentCollection {#4155 …}
    +votes: Doctrine\ORM\PersistentCollection {#4153 …}
    +reports: Doctrine\ORM\PersistentCollection {#4151 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4119 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4123 …}
    -id: 136609
    -bodyTs: "'10':54,66,103 'ago':56,105 'anyway':166 'appl':144 'applic':242,248,258 'avail':208 'aw':44 'bash':51,71,138,190,192,210,260 'becom':41 'better':19,22,32,91 'blind':226 'blog':231 'chase':90 'code':243,249 'compar':139 'complex':187 'comput':78,109 'context':239 'depend':184 'dismiss':227 'doesn':182 'done':224 'ecosystem':49 'end':27 'etc':83,176 'everi':34 'everywher':9 'exist':39 'fine':202 'get':221 'god':43 'high':134 'javascript':48 'job':223 'languag':137 'level':135 'librari':214 'like':74,215 'limit':195 'linux':117 'maintain':38 'mean':155 'need':219 'new':31 'node':100,130 'oper':168 'orang':146 'peopl':225 'perl':197,200,228 'pleas':119 'portabl':179 'post':232 'power':87 'problem':11 'program':101,136 'project':160 'rake':175 'random':116 're':245,251 'remot':81 'replac':13 'requir':162 'rubi':98,128,164,171 'run':96,112,172 'runtim':165,188 'script':169,180,253 'see':46 'serious':199 'server':82,118 'simpli':143 'slight':126 'slog':45 'someth':18 'standard':213 'still':57,63 'subject':24 'system':40 'take':122 'thing':14,152 'time':94 'today':59,106 'told':233 'tri':95,111 'ubiquit':207 'use':189,196 'usual':236 'want':177 'way':33 'work':16,58,64,75 'would':254 'write':167,241,247,252,256 'wrote':53 'year':36,55,68,104"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/181561/-/comment/729512"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689169109 {#4100
      date: 2023-07-12 15:38:29.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#4676
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4159
    +user: App\Entity\User {#4108
      +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
      +cover: null
      +email: "corytheboyd@kbin.social"
      +username: "@corytheboyd@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Computer guy, occasional gamer, shitty music producer. Denver, CO\n
        \n
        <https://corytheboyd.com>
        """
      +lastActive: DateTime @1705476580 {#4167
        date: 2024-01-17 08:29:40.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 {#4112 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
      +entries: Doctrine\ORM\PersistentCollection {#4101 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
      +posts: Doctrine\ORM\PersistentCollection {#4091 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
      +follows: Doctrine\ORM\PersistentCollection {#4077 …}
      +followers: Doctrine\ORM\PersistentCollection {#4075 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
      +reports: Doctrine\ORM\PersistentCollection {#4188 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
      +violations: Doctrine\ORM\PersistentCollection {#4224 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
      +awards: Doctrine\ORM\PersistentCollection {#4218 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
      +categories: Doctrine\ORM\PersistentCollection {#4216 …}
      -id: 12510
      -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
      +apId: "corytheboyd@kbin.social"
      +apProfileId: "https://kbin.social/u/corytheboyd"
      +apPublicUrl: "https://kbin.social/u/corytheboyd"
      +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "corytheboyd"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1707140628 {#4163
        date: 2024-02-05 14:43:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1688056274 {#4161
        date: 2023-06-29 18:31:14.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      It’s here, it’s there, it’s everywhere. The problem with replacing things that work with something “better” is that “better” is subjective, so you end up with a new “better” way every few years, and maintaining existing systems becomes a god awful slog. See the JavaScript ecosystem.\n
      \n
      The bash I wrote 10 years ago still works today, and it will still work in 10 more years. The same bash will very likely work on your computer, on a remote server, etc. This is the power of not chasing “better” all the time.\n
      \n
      Try running a Ruby or Node program from 10 years ago today on your computer. Now, try running it on a random Linux server.\n
      \n
      Please do not take this as a slight against Ruby or Node, or any other high level programming language. Bash compared to those is simply apples and oranges, they are not the same thing.\n
      \n
      By all means, if you have a project that requires a Ruby runtime anyway, write operational scripts with Ruby, run them with Rake, etc.\n
      \n
      Want a portable script that doesn’t depend on a complex runtime? Use bash.\n
      \n
      If bash is too limiting, use Perl. No, seriously. Perl is fine. It is about as ubiquitously available as bash, and the standard library likely has what you need to get the job done. People blindly dismiss Perl because some blog post told them to, usually in the context of writing application code. You’re not writing application code, you’re writing scripts. Would you write an application with bash? No.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1689169109 {#4168
      date: 2023-07-12 15:38:29.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4157 …}
    +nested: Doctrine\ORM\PersistentCollection {#4155 …}
    +votes: Doctrine\ORM\PersistentCollection {#4153 …}
    +reports: Doctrine\ORM\PersistentCollection {#4151 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4119 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4123 …}
    -id: 136609
    -bodyTs: "'10':54,66,103 'ago':56,105 'anyway':166 'appl':144 'applic':242,248,258 'avail':208 'aw':44 'bash':51,71,138,190,192,210,260 'becom':41 'better':19,22,32,91 'blind':226 'blog':231 'chase':90 'code':243,249 'compar':139 'complex':187 'comput':78,109 'context':239 'depend':184 'dismiss':227 'doesn':182 'done':224 'ecosystem':49 'end':27 'etc':83,176 'everi':34 'everywher':9 'exist':39 'fine':202 'get':221 'god':43 'high':134 'javascript':48 'job':223 'languag':137 'level':135 'librari':214 'like':74,215 'limit':195 'linux':117 'maintain':38 'mean':155 'need':219 'new':31 'node':100,130 'oper':168 'orang':146 'peopl':225 'perl':197,200,228 'pleas':119 'portabl':179 'post':232 'power':87 'problem':11 'program':101,136 'project':160 'rake':175 'random':116 're':245,251 'remot':81 'replac':13 'requir':162 'rubi':98,128,164,171 'run':96,112,172 'runtim':165,188 'script':169,180,253 'see':46 'serious':199 'server':82,118 'simpli':143 'slight':126 'slog':45 'someth':18 'standard':213 'still':57,63 'subject':24 'system':40 'take':122 'thing':14,152 'time':94 'today':59,106 'told':233 'tri':95,111 'ubiquit':207 'use':189,196 'usual':236 'want':177 'way':33 'work':16,58,64,75 'would':254 'write':167,241,247,252,256 'wrote':53 'year':36,55,68,104"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/181561/-/comment/729512"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689169109 {#4100
      date: 2023-07-12 15:38:29.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 0.69 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4159
    +user: App\Entity\User {#4108
      +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
      +cover: null
      +email: "corytheboyd@kbin.social"
      +username: "@corytheboyd@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Computer guy, occasional gamer, shitty music producer. Denver, CO\n
        \n
        <https://corytheboyd.com>
        """
      +lastActive: DateTime @1705476580 {#4167
        date: 2024-01-17 08:29:40.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 {#4112 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
      +entries: Doctrine\ORM\PersistentCollection {#4101 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
      +posts: Doctrine\ORM\PersistentCollection {#4091 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
      +follows: Doctrine\ORM\PersistentCollection {#4077 …}
      +followers: Doctrine\ORM\PersistentCollection {#4075 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
      +reports: Doctrine\ORM\PersistentCollection {#4188 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
      +violations: Doctrine\ORM\PersistentCollection {#4224 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
      +awards: Doctrine\ORM\PersistentCollection {#4218 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
      +categories: Doctrine\ORM\PersistentCollection {#4216 …}
      -id: 12510
      -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
      +apId: "corytheboyd@kbin.social"
      +apProfileId: "https://kbin.social/u/corytheboyd"
      +apPublicUrl: "https://kbin.social/u/corytheboyd"
      +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "corytheboyd"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1707140628 {#4163
        date: 2024-02-05 14:43:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1688056274 {#4161
        date: 2023-06-29 18:31:14.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      It’s here, it’s there, it’s everywhere. The problem with replacing things that work with something “better” is that “better” is subjective, so you end up with a new “better” way every few years, and maintaining existing systems becomes a god awful slog. See the JavaScript ecosystem.\n
      \n
      The bash I wrote 10 years ago still works today, and it will still work in 10 more years. The same bash will very likely work on your computer, on a remote server, etc. This is the power of not chasing “better” all the time.\n
      \n
      Try running a Ruby or Node program from 10 years ago today on your computer. Now, try running it on a random Linux server.\n
      \n
      Please do not take this as a slight against Ruby or Node, or any other high level programming language. Bash compared to those is simply apples and oranges, they are not the same thing.\n
      \n
      By all means, if you have a project that requires a Ruby runtime anyway, write operational scripts with Ruby, run them with Rake, etc.\n
      \n
      Want a portable script that doesn’t depend on a complex runtime? Use bash.\n
      \n
      If bash is too limiting, use Perl. No, seriously. Perl is fine. It is about as ubiquitously available as bash, and the standard library likely has what you need to get the job done. People blindly dismiss Perl because some blog post told them to, usually in the context of writing application code. You’re not writing application code, you’re writing scripts. Would you write an application with bash? No.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1689169109 {#4168
      date: 2023-07-12 15:38:29.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4157 …}
    +nested: Doctrine\ORM\PersistentCollection {#4155 …}
    +votes: Doctrine\ORM\PersistentCollection {#4153 …}
    +reports: Doctrine\ORM\PersistentCollection {#4151 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4119 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4123 …}
    -id: 136609
    -bodyTs: "'10':54,66,103 'ago':56,105 'anyway':166 'appl':144 'applic':242,248,258 'avail':208 'aw':44 'bash':51,71,138,190,192,210,260 'becom':41 'better':19,22,32,91 'blind':226 'blog':231 'chase':90 'code':243,249 'compar':139 'complex':187 'comput':78,109 'context':239 'depend':184 'dismiss':227 'doesn':182 'done':224 'ecosystem':49 'end':27 'etc':83,176 'everi':34 'everywher':9 'exist':39 'fine':202 'get':221 'god':43 'high':134 'javascript':48 'job':223 'languag':137 'level':135 'librari':214 'like':74,215 'limit':195 'linux':117 'maintain':38 'mean':155 'need':219 'new':31 'node':100,130 'oper':168 'orang':146 'peopl':225 'perl':197,200,228 'pleas':119 'portabl':179 'post':232 'power':87 'problem':11 'program':101,136 'project':160 'rake':175 'random':116 're':245,251 'remot':81 'replac':13 'requir':162 'rubi':98,128,164,171 'run':96,112,172 'runtim':165,188 'script':169,180,253 'see':46 'serious':199 'server':82,118 'simpli':143 'slight':126 'slog':45 'someth':18 'standard':213 'still':57,63 'subject':24 'system':40 'take':122 'thing':14,152 'time':94 'today':59,106 'told':233 'tri':95,111 'ubiquit':207 'use':189,196 'usual':236 'want':177 'way':33 'work':16,58,64,75 'would':254 'write':167,241,247,252,256 'wrote':53 'year':36,55,68,104"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/181561/-/comment/729512"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689169109 {#4100
      date: 2023-07-12 15:38:29.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#4923
  +comment: App\Entity\EntryComment {#4159
    +user: App\Entity\User {#4108
      +avatar: Proxies\__CG__\App\Entity\Image {#4109 …}
      +cover: null
      +email: "corytheboyd@kbin.social"
      +username: "@corytheboyd@kbin.social"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: """
        Computer guy, occasional gamer, shitty music producer. Denver, CO\n
        \n
        <https://corytheboyd.com>
        """
      +lastActive: DateTime @1705476580 {#4167
        date: 2024-01-17 08:29:40.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 {#4112 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4105 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4103 …}
      +entries: Doctrine\ORM\PersistentCollection {#4101 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4098 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4096 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4093 …}
      +posts: Doctrine\ORM\PersistentCollection {#4091 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4089 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4086 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4084 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4082 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4079 …}
      +follows: Doctrine\ORM\PersistentCollection {#4077 …}
      +followers: Doctrine\ORM\PersistentCollection {#4075 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4223 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4199 …}
      +reports: Doctrine\ORM\PersistentCollection {#4188 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4227 …}
      +violations: Doctrine\ORM\PersistentCollection {#4224 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4221 …}
      +awards: Doctrine\ORM\PersistentCollection {#4218 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4217 …}
      +categories: Doctrine\ORM\PersistentCollection {#4216 …}
      -id: 12510
      -password: "$2y$13$oJBUEMKJGEHzNaqoi2E6iOLq.YXWxQGeDHy8Fy0x7pv4Gc51E5RVW"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4206 …}
      +apId: "corytheboyd@kbin.social"
      +apProfileId: "https://kbin.social/u/corytheboyd"
      +apPublicUrl: "https://kbin.social/u/corytheboyd"
      +apFollowersUrl: "https://kbin.social/u/corytheboyd/followers"
      +apInboxUrl: "https://kbin.social/f/inbox"
      +apDomain: "kbin.social"
      +apPreferredUsername: "corytheboyd"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1707140628 {#4163
        date: 2024-02-05 14:43:48.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1688056274 {#4161
        date: 2023-06-29 18:31:14.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      It’s here, it’s there, it’s everywhere. The problem with replacing things that work with something “better” is that “better” is subjective, so you end up with a new “better” way every few years, and maintaining existing systems becomes a god awful slog. See the JavaScript ecosystem.\n
      \n
      The bash I wrote 10 years ago still works today, and it will still work in 10 more years. The same bash will very likely work on your computer, on a remote server, etc. This is the power of not chasing “better” all the time.\n
      \n
      Try running a Ruby or Node program from 10 years ago today on your computer. Now, try running it on a random Linux server.\n
      \n
      Please do not take this as a slight against Ruby or Node, or any other high level programming language. Bash compared to those is simply apples and oranges, they are not the same thing.\n
      \n
      By all means, if you have a project that requires a Ruby runtime anyway, write operational scripts with Ruby, run them with Rake, etc.\n
      \n
      Want a portable script that doesn’t depend on a complex runtime? Use bash.\n
      \n
      If bash is too limiting, use Perl. No, seriously. Perl is fine. It is about as ubiquitously available as bash, and the standard library likely has what you need to get the job done. People blindly dismiss Perl because some blog post told them to, usually in the context of writing application code. You’re not writing application code, you’re writing scripts. Would you write an application with bash? No.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1689169109 {#4168
      date: 2023-07-12 15:38:29.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4157 …}
    +nested: Doctrine\ORM\PersistentCollection {#4155 …}
    +votes: Doctrine\ORM\PersistentCollection {#4153 …}
    +reports: Doctrine\ORM\PersistentCollection {#4151 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4119 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4123 …}
    -id: 136609
    -bodyTs: "'10':54,66,103 'ago':56,105 'anyway':166 'appl':144 'applic':242,248,258 'avail':208 'aw':44 'bash':51,71,138,190,192,210,260 'becom':41 'better':19,22,32,91 'blind':226 'blog':231 'chase':90 'code':243,249 'compar':139 'complex':187 'comput':78,109 'context':239 'depend':184 'dismiss':227 'doesn':182 'done':224 'ecosystem':49 'end':27 'etc':83,176 'everi':34 'everywher':9 'exist':39 'fine':202 'get':221 'god':43 'high':134 'javascript':48 'job':223 'languag':137 'level':135 'librari':214 'like':74,215 'limit':195 'linux':117 'maintain':38 'mean':155 'need':219 'new':31 'node':100,130 'oper':168 'orang':146 'peopl':225 'perl':197,200,228 'pleas':119 'portabl':179 'post':232 'power':87 'problem':11 'program':101,136 'project':160 'rake':175 'random':116 're':245,251 'remot':81 'replac':13 'requir':162 'rubi':98,128,164,171 'run':96,112,172 'runtim':165,188 'script':169,180,253 'see':46 'serious':199 'server':82,118 'simpli':143 'slight':126 'slog':45 'someth':18 'standard':213 'still':57,63 'subject':24 'system':40 'take':122 'thing':14,152 'time':94 'today':59,106 'told':233 'tri':95,111 'ubiquit':207 'use':189,196 'usual':236 'want':177 'way':33 'work':16,58,64,75 'would':254 'write':167,241,247,252,256 'wrote':53 'year':36,55,68,104"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/linux@lemmy.ml/t/181561/-/comment/729512"
    +editedAt: null
    +createdAt: DateTimeImmutable @1689169109 {#4100
      date: 2023-07-12 15:38:29.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#557 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 23.58 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4197
    +user: App\Entity\User {#4187
      +avatar: null
      +cover: null
      +email: "DidacticDumbass@lemmy.one"
      +username: "@DidacticDumbass@lemmy.one"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1707646602 {#4207
        date: 2024-02-11 11:16: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: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
      +entries: Doctrine\ORM\PersistentCollection {#4178 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
      +posts: Doctrine\ORM\PersistentCollection {#4170 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
      +follows: Doctrine\ORM\PersistentCollection {#4240 …}
      +followers: Doctrine\ORM\PersistentCollection {#4242 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
      +reports: Doctrine\ORM\PersistentCollection {#4252 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
      +violations: Doctrine\ORM\PersistentCollection {#4256 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
      +awards: Doctrine\ORM\PersistentCollection {#4260 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
      +categories: Doctrine\ORM\PersistentCollection {#4264 …}
      -id: 69204
      -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
      +apId: "DidacticDumbass@lemmy.one"
      +apProfileId: "https://lemmy.one/u/DidacticDumbass"
      +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "DidacticDumbass"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1720068360 {#4203
        date: 2024-07-04 06:46:00.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698823737 {#4205
        date: 2023-11-01 08:28:57.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I know I am reviving an old thread, but my philosophy is that posts are timeless and age should not be a reason not to respond.\n
      \n
      Currently I am in the project of learning Rust and Raku, because I am interested in becoming a better systems programmer and I want to be able to do things for my computer without hitting a wall when a solution does not exist, or simply to master my second home.\n
      \n
      This is a mindset issue. There is a lot of legacy opinions on how to use your computer, but never forget it is YOUR computer. I say never worry about something being portable to others. What you make will be portable to you, and that is all that matters. Make your computer yours. If someone wants to use your computer but can’t, isn’t that a win?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1699741250 {#4209
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4202 …}
    +nested: Doctrine\ORM\PersistentCollection {#4201 …}
    +votes: Doctrine\ORM\PersistentCollection {#4191 …}
    +reports: Doctrine\ORM\PersistentCollection {#4194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4192 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4190 …}
    -id: 136082
    -bodyTs: "'abl':53 'age':18 'becom':43 'better':45 'comput':59,94,101,128,136 'current':27 'exist':69 'forget':97 'hit':61 'home':76 'interest':41 'isn':140 'issu':81 'know':2 'learn':34 'legaci':87 'lot':85 'make':114,126 'master':73 'matter':125 'mindset':80 'never':96,104 'old':7 'opinion':88 'other':111 'philosophi':11 'portabl':109,117 'post':14 'programm':47 'project':32 'raku':37 'reason':23 'respond':26 'reviv':5 'rust':35 'say':103 'second':75 'simpli':71 'solut':66 'someon':131 'someth':107 'system':46 'thing':56 'thread':8 'timeless':16 'use':92,134 'wall':63 'want':50,132 'win':144 'without':60 'worri':105"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.one/comment/4621228"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699741250 {#4210
      date: 2023-11-11 23:20:50.0 +01:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#5007
  +comment: App\Entity\EntryComment {#4197
    +user: App\Entity\User {#4187
      +avatar: null
      +cover: null
      +email: "DidacticDumbass@lemmy.one"
      +username: "@DidacticDumbass@lemmy.one"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1707646602 {#4207
        date: 2024-02-11 11:16: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: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
      +entries: Doctrine\ORM\PersistentCollection {#4178 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
      +posts: Doctrine\ORM\PersistentCollection {#4170 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
      +follows: Doctrine\ORM\PersistentCollection {#4240 …}
      +followers: Doctrine\ORM\PersistentCollection {#4242 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
      +reports: Doctrine\ORM\PersistentCollection {#4252 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
      +violations: Doctrine\ORM\PersistentCollection {#4256 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
      +awards: Doctrine\ORM\PersistentCollection {#4260 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
      +categories: Doctrine\ORM\PersistentCollection {#4264 …}
      -id: 69204
      -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
      +apId: "DidacticDumbass@lemmy.one"
      +apProfileId: "https://lemmy.one/u/DidacticDumbass"
      +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "DidacticDumbass"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1720068360 {#4203
        date: 2024-07-04 06:46:00.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698823737 {#4205
        date: 2023-11-01 08:28:57.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I know I am reviving an old thread, but my philosophy is that posts are timeless and age should not be a reason not to respond.\n
      \n
      Currently I am in the project of learning Rust and Raku, because I am interested in becoming a better systems programmer and I want to be able to do things for my computer without hitting a wall when a solution does not exist, or simply to master my second home.\n
      \n
      This is a mindset issue. There is a lot of legacy opinions on how to use your computer, but never forget it is YOUR computer. I say never worry about something being portable to others. What you make will be portable to you, and that is all that matters. Make your computer yours. If someone wants to use your computer but can’t, isn’t that a win?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1699741250 {#4209
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4202 …}
    +nested: Doctrine\ORM\PersistentCollection {#4201 …}
    +votes: Doctrine\ORM\PersistentCollection {#4191 …}
    +reports: Doctrine\ORM\PersistentCollection {#4194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4192 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4190 …}
    -id: 136082
    -bodyTs: "'abl':53 'age':18 'becom':43 'better':45 'comput':59,94,101,128,136 'current':27 'exist':69 'forget':97 'hit':61 'home':76 'interest':41 'isn':140 'issu':81 'know':2 'learn':34 'legaci':87 'lot':85 'make':114,126 'master':73 'matter':125 'mindset':80 'never':96,104 'old':7 'opinion':88 'other':111 'philosophi':11 'portabl':109,117 'post':14 'programm':47 'project':32 'raku':37 'reason':23 'respond':26 'reviv':5 'rust':35 'say':103 'second':75 'simpli':71 'solut':66 'someon':131 'someth':107 'system':46 'thing':56 'thread':8 'timeless':16 'use':92,134 'wall':63 'want':50,132 'win':144 'without':60 'worri':105"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.one/comment/4621228"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699741250 {#4210
      date: 2023-11-11 23:20:50.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#4187
    +avatar: null
    +cover: null
    +email: "DidacticDumbass@lemmy.one"
    +username: "@DidacticDumbass@lemmy.one"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1707646602 {#4207
      date: 2024-02-11 11:16: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: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
    +entries: Doctrine\ORM\PersistentCollection {#4178 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
    +posts: Doctrine\ORM\PersistentCollection {#4170 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
    +follows: Doctrine\ORM\PersistentCollection {#4240 …}
    +followers: Doctrine\ORM\PersistentCollection {#4242 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
    +reports: Doctrine\ORM\PersistentCollection {#4252 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
    +violations: Doctrine\ORM\PersistentCollection {#4256 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
    +awards: Doctrine\ORM\PersistentCollection {#4260 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
    +categories: Doctrine\ORM\PersistentCollection {#4264 …}
    -id: 69204
    -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
    +apId: "DidacticDumbass@lemmy.one"
    +apProfileId: "https://lemmy.one/u/DidacticDumbass"
    +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.one/inbox"
    +apDomain: "lemmy.one"
    +apPreferredUsername: "DidacticDumbass"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1720068360 {#4203
      date: 2024-07-04 06:46:00.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698823737 {#4205
      date: 2023-11-01 08:28:57.0 +01:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#5052
  +user: App\Entity\User {#4187
    +avatar: null
    +cover: null
    +email: "DidacticDumbass@lemmy.one"
    +username: "@DidacticDumbass@lemmy.one"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1707646602 {#4207
      date: 2024-02-11 11:16: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: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
    +entries: Doctrine\ORM\PersistentCollection {#4178 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
    +posts: Doctrine\ORM\PersistentCollection {#4170 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
    +follows: Doctrine\ORM\PersistentCollection {#4240 …}
    +followers: Doctrine\ORM\PersistentCollection {#4242 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
    +reports: Doctrine\ORM\PersistentCollection {#4252 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
    +violations: Doctrine\ORM\PersistentCollection {#4256 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
    +awards: Doctrine\ORM\PersistentCollection {#4260 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
    +categories: Doctrine\ORM\PersistentCollection {#4264 …}
    -id: 69204
    -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
    +apId: "DidacticDumbass@lemmy.one"
    +apProfileId: "https://lemmy.one/u/DidacticDumbass"
    +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.one/inbox"
    +apDomain: "lemmy.one"
    +apPreferredUsername: "DidacticDumbass"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1720068360 {#4203
      date: 2024-07-04 06:46:00.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698823737 {#4205
      date: 2023-11-01 08:28:57.0 +01:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1699741250 {#4210
    date: 2023-11-11 23:20:50.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#5107
  +date: DateTimeImmutable @1699741250 {#4210
    date: 2023-11-11 23:20:50.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1699741250 {#4210
    date: 2023-11-11 23:20:50.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#5161
  +createdAt: DateTimeImmutable @1699741250 {#4210
    date: 2023-11-11 23:20:50.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.17 ms
Input props
[
  "user" => App\Entity\User {#4187
    +avatar: null
    +cover: null
    +email: "DidacticDumbass@lemmy.one"
    +username: "@DidacticDumbass@lemmy.one"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1707646602 {#4207
      date: 2024-02-11 11:16: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: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
    +entries: Doctrine\ORM\PersistentCollection {#4178 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
    +posts: Doctrine\ORM\PersistentCollection {#4170 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
    +follows: Doctrine\ORM\PersistentCollection {#4240 …}
    +followers: Doctrine\ORM\PersistentCollection {#4242 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
    +reports: Doctrine\ORM\PersistentCollection {#4252 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
    +violations: Doctrine\ORM\PersistentCollection {#4256 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
    +awards: Doctrine\ORM\PersistentCollection {#4260 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
    +categories: Doctrine\ORM\PersistentCollection {#4264 …}
    -id: 69204
    -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
    +apId: "DidacticDumbass@lemmy.one"
    +apProfileId: "https://lemmy.one/u/DidacticDumbass"
    +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.one/inbox"
    +apDomain: "lemmy.one"
    +apPreferredUsername: "DidacticDumbass"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1720068360 {#4203
      date: 2024-07-04 06:46:00.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698823737 {#4205
      date: 2023-11-01 08:28:57.0 +01:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#5215
  +width: 40
  +height: 40
  +user: App\Entity\User {#4187
    +avatar: null
    +cover: null
    +email: "DidacticDumbass@lemmy.one"
    +username: "@DidacticDumbass@lemmy.one"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1707646602 {#4207
      date: 2024-02-11 11:16: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: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
    +entries: Doctrine\ORM\PersistentCollection {#4178 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
    +posts: Doctrine\ORM\PersistentCollection {#4170 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
    +follows: Doctrine\ORM\PersistentCollection {#4240 …}
    +followers: Doctrine\ORM\PersistentCollection {#4242 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
    +reports: Doctrine\ORM\PersistentCollection {#4252 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
    +violations: Doctrine\ORM\PersistentCollection {#4256 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
    +awards: Doctrine\ORM\PersistentCollection {#4260 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
    +categories: Doctrine\ORM\PersistentCollection {#4264 …}
    -id: 69204
    -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
    +apId: "DidacticDumbass@lemmy.one"
    +apProfileId: "https://lemmy.one/u/DidacticDumbass"
    +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.one/inbox"
    +apDomain: "lemmy.one"
    +apPreferredUsername: "DidacticDumbass"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1720068360 {#4203
      date: 2024-07-04 06:46:00.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698823737 {#4205
      date: 2023-11-01 08:28:57.0 +01:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 5.41 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4197
    +user: App\Entity\User {#4187
      +avatar: null
      +cover: null
      +email: "DidacticDumbass@lemmy.one"
      +username: "@DidacticDumbass@lemmy.one"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1707646602 {#4207
        date: 2024-02-11 11:16: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: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
      +entries: Doctrine\ORM\PersistentCollection {#4178 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
      +posts: Doctrine\ORM\PersistentCollection {#4170 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
      +follows: Doctrine\ORM\PersistentCollection {#4240 …}
      +followers: Doctrine\ORM\PersistentCollection {#4242 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
      +reports: Doctrine\ORM\PersistentCollection {#4252 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
      +violations: Doctrine\ORM\PersistentCollection {#4256 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
      +awards: Doctrine\ORM\PersistentCollection {#4260 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
      +categories: Doctrine\ORM\PersistentCollection {#4264 …}
      -id: 69204
      -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
      +apId: "DidacticDumbass@lemmy.one"
      +apProfileId: "https://lemmy.one/u/DidacticDumbass"
      +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "DidacticDumbass"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1720068360 {#4203
        date: 2024-07-04 06:46:00.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698823737 {#4205
        date: 2023-11-01 08:28:57.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I know I am reviving an old thread, but my philosophy is that posts are timeless and age should not be a reason not to respond.\n
      \n
      Currently I am in the project of learning Rust and Raku, because I am interested in becoming a better systems programmer and I want to be able to do things for my computer without hitting a wall when a solution does not exist, or simply to master my second home.\n
      \n
      This is a mindset issue. There is a lot of legacy opinions on how to use your computer, but never forget it is YOUR computer. I say never worry about something being portable to others. What you make will be portable to you, and that is all that matters. Make your computer yours. If someone wants to use your computer but can’t, isn’t that a win?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1699741250 {#4209
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4202 …}
    +nested: Doctrine\ORM\PersistentCollection {#4201 …}
    +votes: Doctrine\ORM\PersistentCollection {#4191 …}
    +reports: Doctrine\ORM\PersistentCollection {#4194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4192 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4190 …}
    -id: 136082
    -bodyTs: "'abl':53 'age':18 'becom':43 'better':45 'comput':59,94,101,128,136 'current':27 'exist':69 'forget':97 'hit':61 'home':76 'interest':41 'isn':140 'issu':81 'know':2 'learn':34 'legaci':87 'lot':85 'make':114,126 'master':73 'matter':125 'mindset':80 'never':96,104 'old':7 'opinion':88 'other':111 'philosophi':11 'portabl':109,117 'post':14 'programm':47 'project':32 'raku':37 'reason':23 'respond':26 'reviv':5 'rust':35 'say':103 'second':75 'simpli':71 'solut':66 'someon':131 'someth':107 'system':46 'thing':56 'thread':8 'timeless':16 'use':92,134 'wall':63 'want':50,132 'win':144 'without':60 'worri':105"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.one/comment/4621228"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699741250 {#4210
      date: 2023-11-11 23:20:50.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#5292
  +subject: App\Entity\EntryComment {#4197
    +user: App\Entity\User {#4187
      +avatar: null
      +cover: null
      +email: "DidacticDumbass@lemmy.one"
      +username: "@DidacticDumbass@lemmy.one"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1707646602 {#4207
        date: 2024-02-11 11:16: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: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
      +entries: Doctrine\ORM\PersistentCollection {#4178 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
      +posts: Doctrine\ORM\PersistentCollection {#4170 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
      +follows: Doctrine\ORM\PersistentCollection {#4240 …}
      +followers: Doctrine\ORM\PersistentCollection {#4242 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
      +reports: Doctrine\ORM\PersistentCollection {#4252 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
      +violations: Doctrine\ORM\PersistentCollection {#4256 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
      +awards: Doctrine\ORM\PersistentCollection {#4260 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
      +categories: Doctrine\ORM\PersistentCollection {#4264 …}
      -id: 69204
      -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
      +apId: "DidacticDumbass@lemmy.one"
      +apProfileId: "https://lemmy.one/u/DidacticDumbass"
      +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "DidacticDumbass"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1720068360 {#4203
        date: 2024-07-04 06:46:00.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698823737 {#4205
        date: 2023-11-01 08:28:57.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I know I am reviving an old thread, but my philosophy is that posts are timeless and age should not be a reason not to respond.\n
      \n
      Currently I am in the project of learning Rust and Raku, because I am interested in becoming a better systems programmer and I want to be able to do things for my computer without hitting a wall when a solution does not exist, or simply to master my second home.\n
      \n
      This is a mindset issue. There is a lot of legacy opinions on how to use your computer, but never forget it is YOUR computer. I say never worry about something being portable to others. What you make will be portable to you, and that is all that matters. Make your computer yours. If someone wants to use your computer but can’t, isn’t that a win?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1699741250 {#4209
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4202 …}
    +nested: Doctrine\ORM\PersistentCollection {#4201 …}
    +votes: Doctrine\ORM\PersistentCollection {#4191 …}
    +reports: Doctrine\ORM\PersistentCollection {#4194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4192 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4190 …}
    -id: 136082
    -bodyTs: "'abl':53 'age':18 'becom':43 'better':45 'comput':59,94,101,128,136 'current':27 'exist':69 'forget':97 'hit':61 'home':76 'interest':41 'isn':140 'issu':81 'know':2 'learn':34 'legaci':87 'lot':85 'make':114,126 'master':73 'matter':125 'mindset':80 'never':96,104 'old':7 'opinion':88 'other':111 'philosophi':11 'portabl':109,117 'post':14 'programm':47 'project':32 'raku':37 'reason':23 'respond':26 'reviv':5 'rust':35 'say':103 'second':75 'simpli':71 'solut':66 'someon':131 'someth':107 'system':46 'thing':56 'thread':8 'timeless':16 'use':92,134 'wall':63 'want':50,132 'win':144 'without':60 'worri':105"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.one/comment/4621228"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699741250 {#4210
      date: 2023-11-11 23:20:50.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 0.70 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4197
    +user: App\Entity\User {#4187
      +avatar: null
      +cover: null
      +email: "DidacticDumbass@lemmy.one"
      +username: "@DidacticDumbass@lemmy.one"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1707646602 {#4207
        date: 2024-02-11 11:16: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: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
      +entries: Doctrine\ORM\PersistentCollection {#4178 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
      +posts: Doctrine\ORM\PersistentCollection {#4170 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
      +follows: Doctrine\ORM\PersistentCollection {#4240 …}
      +followers: Doctrine\ORM\PersistentCollection {#4242 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
      +reports: Doctrine\ORM\PersistentCollection {#4252 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
      +violations: Doctrine\ORM\PersistentCollection {#4256 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
      +awards: Doctrine\ORM\PersistentCollection {#4260 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
      +categories: Doctrine\ORM\PersistentCollection {#4264 …}
      -id: 69204
      -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
      +apId: "DidacticDumbass@lemmy.one"
      +apProfileId: "https://lemmy.one/u/DidacticDumbass"
      +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "DidacticDumbass"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1720068360 {#4203
        date: 2024-07-04 06:46:00.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698823737 {#4205
        date: 2023-11-01 08:28:57.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I know I am reviving an old thread, but my philosophy is that posts are timeless and age should not be a reason not to respond.\n
      \n
      Currently I am in the project of learning Rust and Raku, because I am interested in becoming a better systems programmer and I want to be able to do things for my computer without hitting a wall when a solution does not exist, or simply to master my second home.\n
      \n
      This is a mindset issue. There is a lot of legacy opinions on how to use your computer, but never forget it is YOUR computer. I say never worry about something being portable to others. What you make will be portable to you, and that is all that matters. Make your computer yours. If someone wants to use your computer but can’t, isn’t that a win?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1699741250 {#4209
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4202 …}
    +nested: Doctrine\ORM\PersistentCollection {#4201 …}
    +votes: Doctrine\ORM\PersistentCollection {#4191 …}
    +reports: Doctrine\ORM\PersistentCollection {#4194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4192 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4190 …}
    -id: 136082
    -bodyTs: "'abl':53 'age':18 'becom':43 'better':45 'comput':59,94,101,128,136 'current':27 'exist':69 'forget':97 'hit':61 'home':76 'interest':41 'isn':140 'issu':81 'know':2 'learn':34 'legaci':87 'lot':85 'make':114,126 'master':73 'matter':125 'mindset':80 'never':96,104 'old':7 'opinion':88 'other':111 'philosophi':11 'portabl':109,117 'post':14 'programm':47 'project':32 'raku':37 'reason':23 'respond':26 'reviv':5 'rust':35 'say':103 'second':75 'simpli':71 'solut':66 'someon':131 'someth':107 'system':46 'thing':56 'thread':8 'timeless':16 'use':92,134 'wall':63 'want':50,132 'win':144 'without':60 'worri':105"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.one/comment/4621228"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699741250 {#4210
      date: 2023-11-11 23:20:50.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#5349
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4197
    +user: App\Entity\User {#4187
      +avatar: null
      +cover: null
      +email: "DidacticDumbass@lemmy.one"
      +username: "@DidacticDumbass@lemmy.one"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1707646602 {#4207
        date: 2024-02-11 11:16: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: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
      +entries: Doctrine\ORM\PersistentCollection {#4178 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
      +posts: Doctrine\ORM\PersistentCollection {#4170 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
      +follows: Doctrine\ORM\PersistentCollection {#4240 …}
      +followers: Doctrine\ORM\PersistentCollection {#4242 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
      +reports: Doctrine\ORM\PersistentCollection {#4252 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
      +violations: Doctrine\ORM\PersistentCollection {#4256 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
      +awards: Doctrine\ORM\PersistentCollection {#4260 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
      +categories: Doctrine\ORM\PersistentCollection {#4264 …}
      -id: 69204
      -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
      +apId: "DidacticDumbass@lemmy.one"
      +apProfileId: "https://lemmy.one/u/DidacticDumbass"
      +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "DidacticDumbass"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1720068360 {#4203
        date: 2024-07-04 06:46:00.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698823737 {#4205
        date: 2023-11-01 08:28:57.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I know I am reviving an old thread, but my philosophy is that posts are timeless and age should not be a reason not to respond.\n
      \n
      Currently I am in the project of learning Rust and Raku, because I am interested in becoming a better systems programmer and I want to be able to do things for my computer without hitting a wall when a solution does not exist, or simply to master my second home.\n
      \n
      This is a mindset issue. There is a lot of legacy opinions on how to use your computer, but never forget it is YOUR computer. I say never worry about something being portable to others. What you make will be portable to you, and that is all that matters. Make your computer yours. If someone wants to use your computer but can’t, isn’t that a win?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1699741250 {#4209
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4202 …}
    +nested: Doctrine\ORM\PersistentCollection {#4201 …}
    +votes: Doctrine\ORM\PersistentCollection {#4191 …}
    +reports: Doctrine\ORM\PersistentCollection {#4194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4192 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4190 …}
    -id: 136082
    -bodyTs: "'abl':53 'age':18 'becom':43 'better':45 'comput':59,94,101,128,136 'current':27 'exist':69 'forget':97 'hit':61 'home':76 'interest':41 'isn':140 'issu':81 'know':2 'learn':34 'legaci':87 'lot':85 'make':114,126 'master':73 'matter':125 'mindset':80 'never':96,104 'old':7 'opinion':88 'other':111 'philosophi':11 'portabl':109,117 'post':14 'programm':47 'project':32 'raku':37 'reason':23 'respond':26 'reviv':5 'rust':35 'say':103 'second':75 'simpli':71 'solut':66 'someon':131 'someth':107 'system':46 'thing':56 'thread':8 'timeless':16 'use':92,134 'wall':63 'want':50,132 'win':144 'without':60 'worri':105"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.one/comment/4621228"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699741250 {#4210
      date: 2023-11-11 23:20:50.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 0.64 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4197
    +user: App\Entity\User {#4187
      +avatar: null
      +cover: null
      +email: "DidacticDumbass@lemmy.one"
      +username: "@DidacticDumbass@lemmy.one"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1707646602 {#4207
        date: 2024-02-11 11:16: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: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
      +entries: Doctrine\ORM\PersistentCollection {#4178 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
      +posts: Doctrine\ORM\PersistentCollection {#4170 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
      +follows: Doctrine\ORM\PersistentCollection {#4240 …}
      +followers: Doctrine\ORM\PersistentCollection {#4242 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
      +reports: Doctrine\ORM\PersistentCollection {#4252 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
      +violations: Doctrine\ORM\PersistentCollection {#4256 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
      +awards: Doctrine\ORM\PersistentCollection {#4260 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
      +categories: Doctrine\ORM\PersistentCollection {#4264 …}
      -id: 69204
      -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
      +apId: "DidacticDumbass@lemmy.one"
      +apProfileId: "https://lemmy.one/u/DidacticDumbass"
      +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "DidacticDumbass"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1720068360 {#4203
        date: 2024-07-04 06:46:00.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698823737 {#4205
        date: 2023-11-01 08:28:57.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I know I am reviving an old thread, but my philosophy is that posts are timeless and age should not be a reason not to respond.\n
      \n
      Currently I am in the project of learning Rust and Raku, because I am interested in becoming a better systems programmer and I want to be able to do things for my computer without hitting a wall when a solution does not exist, or simply to master my second home.\n
      \n
      This is a mindset issue. There is a lot of legacy opinions on how to use your computer, but never forget it is YOUR computer. I say never worry about something being portable to others. What you make will be portable to you, and that is all that matters. Make your computer yours. If someone wants to use your computer but can’t, isn’t that a win?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1699741250 {#4209
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4202 …}
    +nested: Doctrine\ORM\PersistentCollection {#4201 …}
    +votes: Doctrine\ORM\PersistentCollection {#4191 …}
    +reports: Doctrine\ORM\PersistentCollection {#4194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4192 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4190 …}
    -id: 136082
    -bodyTs: "'abl':53 'age':18 'becom':43 'better':45 'comput':59,94,101,128,136 'current':27 'exist':69 'forget':97 'hit':61 'home':76 'interest':41 'isn':140 'issu':81 'know':2 'learn':34 'legaci':87 'lot':85 'make':114,126 'master':73 'matter':125 'mindset':80 'never':96,104 'old':7 'opinion':88 'other':111 'philosophi':11 'portabl':109,117 'post':14 'programm':47 'project':32 'raku':37 'reason':23 'respond':26 'reviv':5 'rust':35 'say':103 'second':75 'simpli':71 'solut':66 'someon':131 'someth':107 'system':46 'thing':56 'thread':8 'timeless':16 'use':92,134 'wall':63 'want':50,132 'win':144 'without':60 'worri':105"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.one/comment/4621228"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699741250 {#4210
      date: 2023-11-11 23:20:50.0 +01:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#5589
  +comment: App\Entity\EntryComment {#4197
    +user: App\Entity\User {#4187
      +avatar: null
      +cover: null
      +email: "DidacticDumbass@lemmy.one"
      +username: "@DidacticDumbass@lemmy.one"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1707646602 {#4207
        date: 2024-02-11 11:16: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: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4184 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4182 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4180 …}
      +entries: Doctrine\ORM\PersistentCollection {#4178 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4176 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4174 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4172 …}
      +posts: Doctrine\ORM\PersistentCollection {#4170 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4231 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4232 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4234 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4236 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4238 …}
      +follows: Doctrine\ORM\PersistentCollection {#4240 …}
      +followers: Doctrine\ORM\PersistentCollection {#4242 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4244 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4246 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4248 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4250 …}
      +reports: Doctrine\ORM\PersistentCollection {#4252 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4254 …}
      +violations: Doctrine\ORM\PersistentCollection {#4256 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4258 …}
      +awards: Doctrine\ORM\PersistentCollection {#4260 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4262 …}
      +categories: Doctrine\ORM\PersistentCollection {#4264 …}
      -id: 69204
      -password: "$2y$13$SWWOkwlTZW1N87YOm4G57OqXhtP/hZYBRAzpeNLxbv7mPZCanx.3e"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4266 …}
      +apId: "DidacticDumbass@lemmy.one"
      +apProfileId: "https://lemmy.one/u/DidacticDumbass"
      +apPublicUrl: "https://lemmy.one/u/DidacticDumbass"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "DidacticDumbass"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1720068360 {#4203
        date: 2024-07-04 06:46:00.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698823737 {#4205
        date: 2023-11-01 08:28:57.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "GodOfThunder@lemm.ee"
        +username: "@GodOfThunder@lemm.ee"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1700285382 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 28895
        -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-11-22 01:53:24.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689444800 {#1515
          date: 2023-07-15 20:13:20.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-11-11 23:20:50.0 +01:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +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 {#1850
        date: 2023-07-12 11:41:26.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I know I am reviving an old thread, but my philosophy is that posts are timeless and age should not be a reason not to respond.\n
      \n
      Currently I am in the project of learning Rust and Raku, because I am interested in becoming a better systems programmer and I want to be able to do things for my computer without hitting a wall when a solution does not exist, or simply to master my second home.\n
      \n
      This is a mindset issue. There is a lot of legacy opinions on how to use your computer, but never forget it is YOUR computer. I say never worry about something being portable to others. What you make will be portable to you, and that is all that matters. Make your computer yours. If someone wants to use your computer but can’t, isn’t that a win?
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1699741250 {#4209
      date: 2023-11-11 23:20:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@GodOfThunder@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4202 …}
    +nested: Doctrine\ORM\PersistentCollection {#4201 …}
    +votes: Doctrine\ORM\PersistentCollection {#4191 …}
    +reports: Doctrine\ORM\PersistentCollection {#4194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4192 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4190 …}
    -id: 136082
    -bodyTs: "'abl':53 'age':18 'becom':43 'better':45 'comput':59,94,101,128,136 'current':27 'exist':69 'forget':97 'hit':61 'home':76 'interest':41 'isn':140 'issu':81 'know':2 'learn':34 'legaci':87 'lot':85 'make':114,126 'master':73 'matter':125 'mindset':80 'never':96,104 'old':7 'opinion':88 'other':111 'philosophi':11 'portabl':109,117 'post':14 'programm':47 'project':32 'raku':37 'reason':23 'respond':26 'reviv':5 'rust':35 'say':103 'second':75 'simpli':71 'solut':66 'someon':131 'someth':107 'system':46 'thing':56 'thread':8 'timeless':16 'use':92,134 'wall':63 'want':50,132 'win':144 'without':60 'worri':105"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.one/comment/4621228"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699741250 {#4210
      date: 2023-11-11 23:20:50.0 +01:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#557 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 12.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 {#5714
  +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 12.0 MiB 0.18 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5778
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.14 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5843
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.16 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 {#5899
  +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 12.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 {#5958
  +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 12.0 MiB 0.12 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6014
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.12 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6070
  +label: "Turbo mode (experimental)"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TURBO"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.23 ms
Input props
[
  "label" => "Mark new comments"
  "settingsKey" => "KBIN_MARK_NEW_COMMENTS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#6128
  +label: "Mark new comments"
  +help: ""
  +settingsKey: "KBIN_MARK_NEW_COMMENTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.12 ms
Input props
[
  "label" => "Show "Support Us" block"
  "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6191
  +label: "Show "Support Us" block"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SUPPORT_US_BLOCK"
  +defaultValue: true
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.19 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#6249
  +label: "Show subscribed users"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_USERS"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.13 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#6305
  +label: "Show subscribed magazines"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_MAGAZINES"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.13 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#6361
  +label: "Show subscribed domains"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_DOMAINS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.12 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6417
  +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 12.0 MiB 0.12 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6473
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.11 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6529
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_USERS_AVATARS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.11 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6585
  +label: "Show magazines’ icons"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.12 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6641
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.11 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6697
  +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 12.0 MiB 0.12 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6753
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_POSTS_SHOW_USERS_AVATARS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 12.0 MiB 0.14 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 {#6809
  +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 12.0 MiB 0.12 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 {#6867
  +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 12.0 MiB 0.42 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1943
    +avatar: null
    +cover: null
    +email: "GodOfThunder@lemm.ee"
    +username: "@GodOfThunder@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700285382 {#1537
      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 {#1516 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
    +entries: Doctrine\ORM\PersistentCollection {#1623 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
    +posts: Doctrine\ORM\PersistentCollection {#1657 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
    +follows: Doctrine\ORM\PersistentCollection {#1635 …}
    +followers: Doctrine\ORM\PersistentCollection {#1633 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
    +reports: Doctrine\ORM\PersistentCollection {#1419 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
    +violations: Doctrine\ORM\PersistentCollection {#1429 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
    +awards: Doctrine\ORM\PersistentCollection {#1435 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
    +categories: Doctrine\ORM\PersistentCollection {#1647 …}
    -id: 28895
    -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
    +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 {#1536
      date: 2023-11-22 01:53:24.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689444800 {#1515
      date: 2023-07-15 20:13:20.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserActionsComponent {#6944
  +user: Proxies\__CG__\App\Entity\User {#1943
    +avatar: null
    +cover: null
    +email: "GodOfThunder@lemm.ee"
    +username: "@GodOfThunder@lemm.ee"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700285382 {#1537
      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 {#1516 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
    +entries: Doctrine\ORM\PersistentCollection {#1623 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
    +posts: Doctrine\ORM\PersistentCollection {#1657 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
    +follows: Doctrine\ORM\PersistentCollection {#1635 …}
    +followers: Doctrine\ORM\PersistentCollection {#1633 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
    +reports: Doctrine\ORM\PersistentCollection {#1419 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
    +violations: Doctrine\ORM\PersistentCollection {#1429 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
    +awards: Doctrine\ORM\PersistentCollection {#1435 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
    +categories: Doctrine\ORM\PersistentCollection {#1647 …}
    -id: 28895
    -password: "$2y$13$FSuvvSbx58Y6K6n//4rf1.M.Hcfmmds4dNRCX0Ol/J8w0f4z7tYC6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
    +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 {#1536
      date: 2023-11-22 01:53:24.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689444800 {#1515
      date: 2023-07-15 20:13:20.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
date App\Twig\Components\DateComponent 12.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1689154886 {#1850
    date: 2023-07-12 11:41:26.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#7005
  +date: DateTimeImmutable @1689154886 {#1850
    date: 2023-07-12 11:41:26.0 +02:00
  }
}
magazine_box App\Twig\Components\MagazineBoxComponent 12.0 MiB 6.73 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  "showSectionTitle" => true
]
Attributes
[]
Component
App\Twig\Components\MagazineBoxComponent {#7061
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +showCover: true
  +showDescription: true
  +showRules: true
  +showSubscribeButton: true
  +showInfo: true
  +showMeta: true
  +showSectionTitle: true
  +stretchedLink: true
}
magazine_sub App\Twig\Components\MagazineSubComponent 12.0 MiB 0.42 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineSubComponent {#7119
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
}
date App\Twig\Components\DateComponent 12.0 MiB 0.11 ms
Input props
[
  "date" => DateTimeImmutable @1698929468 {#272
    date: 2023-11-02 13:51:08.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#7293
  +date: DateTimeImmutable @1698929468 {#272
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.50 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#7352
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#7399
      date: 2024-02-10 07:43:02.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: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#7401 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#7403 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#7405 …}
    +entries: Doctrine\ORM\PersistentCollection {#7407 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#7409 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#7411 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#7413 …}
    +posts: Doctrine\ORM\PersistentCollection {#7415 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#7417 …}
    +postComments: Doctrine\ORM\PersistentCollection {#7419 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#7421 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#7423 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#7425 …}
    +follows: Doctrine\ORM\PersistentCollection {#7427 …}
    +followers: Doctrine\ORM\PersistentCollection {#7429 …}
    +blocks: Doctrine\ORM\PersistentCollection {#7431 …}
    +blockers: Doctrine\ORM\PersistentCollection {#7433 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#7435 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#7437 …}
    +reports: Doctrine\ORM\PersistentCollection {#7439 …}
    +favourites: Doctrine\ORM\PersistentCollection {#7441 …}
    +violations: Doctrine\ORM\PersistentCollection {#7443 …}
    +notifications: Doctrine\ORM\PersistentCollection {#7445 …}
    +awards: Doctrine\ORM\PersistentCollection {#7447 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#7449 …}
    +categories: Doctrine\ORM\PersistentCollection {#7451 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#7453 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#7400
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#7370
  +user: Proxies\__CG__\App\Entity\User {#7352
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#7399
      date: 2024-02-10 07:43:02.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: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#7401 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#7403 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#7405 …}
    +entries: Doctrine\ORM\PersistentCollection {#7407 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#7409 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#7411 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#7413 …}
    +posts: Doctrine\ORM\PersistentCollection {#7415 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#7417 …}
    +postComments: Doctrine\ORM\PersistentCollection {#7419 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#7421 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#7423 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#7425 …}
    +follows: Doctrine\ORM\PersistentCollection {#7427 …}
    +followers: Doctrine\ORM\PersistentCollection {#7429 …}
    +blocks: Doctrine\ORM\PersistentCollection {#7431 …}
    +blockers: Doctrine\ORM\PersistentCollection {#7433 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#7435 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#7437 …}
    +reports: Doctrine\ORM\PersistentCollection {#7439 …}
    +favourites: Doctrine\ORM\PersistentCollection {#7441 …}
    +violations: Doctrine\ORM\PersistentCollection {#7443 …}
    +notifications: Doctrine\ORM\PersistentCollection {#7445 …}
    +awards: Doctrine\ORM\PersistentCollection {#7447 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#7449 …}
    +categories: Doctrine\ORM\PersistentCollection {#7451 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#7453 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#7400
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: true
}
related_magazines App\Twig\Components\RelatedMagazinesComponent 12.0 MiB 1.92 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#7561
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +title: "related_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#334 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
active_users App\Twig\Components\ActiveUsersComponent 12.0 MiB 0.21 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#3198
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  -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 12.0 MiB 1.26 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#3137
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "related"
  +title: "related_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#3140 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_posts App\Twig\Components\RelatedPostsComponent 12.0 MiB 1.28 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#5273
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +post: null
  +title: "related_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#5283 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#390 …}
}
related_entries App\Twig\Components\RelatedEntriesComponent 12.0 MiB 1.31 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#7238
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +entry: null
  +title: "related_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#271 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#390 …}
}
support_us_block App\Twig\Components\SupportUsBlock 12.0 MiB 0.19 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#3294
  +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 {#3490 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 12.0 MiB 0.72 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#6675
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#334 …}
}