• ericjmorey@programming.dev
    link
    fedilink
    arrow-up
    90
    arrow-down
    3
    ·
    6 months ago

    Disinvestment into Python, Flutter, and Dart is a clear signal that those tools are unimportant to Google. I won’t be recommending that anyone use Dart or Flutter on new projects.

    • huginn@feddit.it
      link
      fedilink
      arrow-up
      56
      arrow-down
      4
      ·
      6 months ago

      You shouldn’t have ever been recommending dart or flutter.

      Python ain’t going anywhere tho

        • Ephera
          link
          fedilink
          arrow-up
          38
          arrow-down
          2
          ·
          6 months ago

          I would argue so, because Google has quite a reputation for killing projects: https://killedbygoogle.com

          Especially with a programming language or framework, you don’t want to invest in it, only to find out that it’s going on the chopping block.

          • xuniL@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            4
            arrow-down
            1
            ·
            6 months ago

            Even if Google laid off staff for the Flutter and Dart team, I don’t think those two will be going anywhere any time soon. Mostly because a huge majority Android ecosystem is based on them, still a stupid decisions of them.

            I hope this doesn’t age like milk.

        • huginn@feddit.it
          link
          fedilink
          arrow-up
          22
          arrow-down
          3
          ·
          6 months ago

          I’m mostly just biased because I do native mobile development but flutter has always seemed like a false economy to me. You’re trying to build cross platform but it’ll take more than 2x as long as building each platform to get the same quality of experience. So either you have a shittier experience or you take even longer than true native dev.

          But I’m obviously very biased here.

          • jacksilver@lemmy.world
            link
            fedilink
            arrow-up
            13
            ·
            6 months ago

            I’ve used it before and it’s got it’s pros and cons. Ultimately the big thing is not all apps need to be the “killer app”. Some apps are pretty simple, so a one size fits all can be nice. It’s definitely not the same as developing natively, but for small teams/apps it’s not too bad.

          • AMDIsOurLord
            link
            fedilink
            arrow-up
            2
            ·
            6 months ago

            Flutter can be socialized for mobile OR desktop OR web. Having all three in a codebase requires lots of code and alternative layouts to properly handle each platform. It’s not a “one size fits all” solution, actually to the absolute contrary it’s a solution that you have to tailor to the UI you want to build.

            I’m making desktop apps with Flutter (it’s awesome) and my apps can’t ever possibly hope to run on mobile. I’d have to remake most of the damn thing in order to make layouts for mobile.

            • huginn@feddit.it
              link
              fedilink
              arrow-up
              3
              arrow-down
              3
              ·
              6 months ago

              Right but instead of a toy language there’s Kotlin which is already multiplatform.

              I just struggle to see why another language needed to be invented to do this.

              • AMDIsOurLord
                link
                fedilink
                arrow-up
                5
                ·
                6 months ago

                Dart does some things better than Kotlin and KMP is a joke compared to Flutter

                Trust me on this and go learn it yourself

                Also Dart compiles to machine code, Kotlin is JVM

      • FizzyOrange@programming.dev
        link
        fedilink
        arrow-up
        4
        arrow-down
        2
        ·
        6 months ago

        Python is going to die eventually. It’s too slow and the infrastructure is too painful for it to survive super long term.

        It’s ridiculous popular now though so it’s going to take decades to die down.

        • Ephera
          link
          fedilink
          arrow-up
          10
          arrow-down
          1
          ·
          6 months ago

          Just had to look at it out of curiosity and man, it looks like yet another C+=1. The code samples on Wikipedia contain one of those gaudy for-loops and a ternary, as if that was still peak language design four decades after C got published.

          But what I seriously don’t get: Why the hell did they develop Go then? That’s yet another C+=1, with even some design similarities to Dart, e.g. it’s garbage-collected but compiles to machine code.
          Like, yeah, it wouldn’t be the first time that different teams develop competing products at Google, but what kind of culture leads to there even being demand for two C+=1s?

          • hector@sh.itjust.works
            link
            fedilink
            arrow-up
            4
            ·
            6 months ago

            I can’t get enough of JSX (React) markup syntax personally, it’s just too simple and efficient that I don’t want to learn anything else ;)

            To be fair, Go is very different from Dart and if they look like C it’s because they try to give you the abstraction with the memory safety which is pretty great.

            But yeah Google is kinda the developer of useless languages. Even if Go is a banger of a technology

            • stevecrox@kbin.run
              link
              fedilink
              arrow-up
              2
              ·
              6 months ago

              If you have the freedom try Typescript.

              The tsx files are almost identical to jsx except for the need to define the field types your ingesting.

              While thats a little extra work, it allows Visual Studio Code to perform deeper analysis and provide much more helpful contextual hints.

              I grew to love JSX and tried TSX out of interest and you couldn’t convince to go back to pure JS

          • AMDIsOurLord
            link
            fedilink
            arrow-up
            2
            ·
            6 months ago

            Dart has all the modern bell and whistles and bullshit syntax too, the Wikipedia samples hardly do it justice

        • samus7070@programming.dev
          link
          fedilink
          arrow-up
          8
          ·
          6 months ago

          It was originally meant as a better JavaScript and it was. It failed when none of the other browsers expressed interest in supporting it. It languished for a while and then was taken up by the Flutter team. At the time Flutter took it up it was somewhere around the level of Java 8 in features but not quite on par. Since then it’s seen some massive improvements to the type system and language. It’s completely null sound, not just null safe like Kotlin. It recently got records/tuples and one of the more capable pattern matching syntaxes I’ve ever seen in a functional imperative hybrid language. The next stable version of dart will introduce a compiler macro system that is very promising. The syntax isn’t always the prettiest due to it trying to not totally break old code. I do think that it offers a wide range of modern language features that competes heavily with Swift and Kotlin in the mobile space.

          • hector@sh.itjust.works
            link
            fedilink
            arrow-up
            2
            arrow-down
            1
            ·
            6 months ago

            Those are fair arguments, I’ll check Dart again. I think what really didn’t click for me, in contrary of React Native is that the code, and syntax are not very flexible.

            I’m pretty good at Typescript and I can make some beautiful reusable code with minimal efforts. This makes it so fast to build apps and I just don’t feel that in Dart.

    • DeprecatedCompatV2@programming.dev
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      6 months ago

      I won’t be recommending that anyone use Dart or Flutter on new projects.

      You seem to think Google cares at all. Android has been languishing and Flutter is lightyears ahead. KMP is junk compared to what Flutter has accomplished with a fraction of the bells and whistles.

      • ericjmorey@programming.dev
        link
        fedilink
        arrow-up
        8
        ·
        6 months ago

        You seem to think Google cares at all.

        Odd conclusion to draw. I’m simply not inclined to recommend tools that are not going to be supported by the organization that created them. Development ecosystems are important when planning a project.

        • DeprecatedCompatV2@programming.dev
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          6 months ago

          What I mean to say is that Google isn’t invested in native android either. It’s been repeatedly strip mined by first-timers looking for a quick promotion and left to burn.

          Things got so bad that Google gave up on native Views and created Jetpack Compose, which has been a source of many complaints related to performance.

          In 2024 Flutter has instant hot-reload, and the “native” (but 100% bundled) solution still requires a complete reinstall on the device. In fact, Dart can compile to native code (or JIT) without an issue, yet Kotlin Native is barely in GA in the new compiler support has been lagging while the new compiler isn’t out of beta and is still poorly supported by tooling.

          Consider the absurdity: React Native is the only true native framework out of RN, Jetpack Compose, and Flutter. And all of this barely scratches the surface of the tooling problems that Flutter 99% avoids by allowing development on desktop, web or iOS simulator.

    • umbrella
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      6 months ago

      Flutter

      looking at you, canonical.

  • seth@lemmy.world
    link
    fedilink
    arrow-up
    65
    arrow-down
    2
    ·
    6 months ago

    Laying people off instead of offering to move them to the now-more-important projects has to be one of the dumbest management moves that tech companies repeatedly do. These are people already trained on all the policies and procedures and tooling and “culture” specific to your company.

    It’s going to be more expensive to hire and train new people when the dumdums in upper management finally figure out the mistakes they made that got them to a point where they decided they need to cut jobs and projects, and the ramp-up time before you actually start seeing progress on those priorities is going to be seriously lengthened. Of course they won’t acknowledge it was their fault in the first place, and again the heads roll on the wrong end of the corporate ladder.

    • porgamrer@programming.dev
      link
      fedilink
      arrow-up
      22
      arrow-down
      3
      ·
      6 months ago

      They are not stupid at all. Their interests are in conflict with the interests of tech workers and they are winning effortlessly, over and over again.

      The big tech companies are all owned by the same people. If these layoffs cause google to lose market share to another company, it’s fine because they own that company too.

      What matters is coordinating regular layoffs across the whole industry to reduce labour costs. It’s the same principle as a strike: if the whole industry does layoffs, workers gradually have to accept lower salaries. In other words, the employers are unionised and the employees are not.

      This process will probably continue for the next 20 years, until tech workers have low salaries and no job security. It has happened to countless industries before, and I doubt we are special.

      I’m sure the next big industries will be technology-focused, but that’s not the same as “tech”. They won’t involve people being paid $200k to write websites in ruby.

    • boyi@lemmy.sdf.org
      link
      fedilink
      arrow-up
      16
      ·
      6 months ago

      It’s going to be more expensive to hire and train new people when the dumdums in upper management finally figure out the mistakes

      Unfortunately that’s not the case. Those who have been laid off are those paid high salaries to build up the foundation. Now that the foundation is already there, they future work won’t be as complex as before and need less training. So why would they still pay the very high salaries? They’ll just get rid of the used-to-be-important programmers and hire the can-be-hired-for-a-lot-less programmers from India. It’s sad, but that’s the reality.

      • MonkderDritte@feddit.de
        link
        fedilink
        arrow-up
        6
        ·
        6 months ago

        Those who have been laid off are those … to build up the foundation. Now that the foundation is already there, the future work won’t be as complex as before and need less training.

        Small-to-medium companies see you at least as investment. So this is where i work.

      • Maddier1993@programming.dev
        link
        fedilink
        arrow-up
        3
        arrow-down
        2
        ·
        6 months ago

        Now that the foundation is already there, they future work won’t be as complex as before and need less training.

        LOL, LMAO even.

        • boyi@lemmy.sdf.org
          link
          fedilink
          arrow-up
          2
          ·
          6 months ago

          Yeah, at least give you argument so I can also laugh at myself too.

          Anyway, take a look at this article that just came out just earlier, which means that by no chance it’s been referenced when I wtote my earlier comment. And do take note of the BOLD words.

          The Core unit is responsible for building the technical foundation behind the company’s flagship products and for protecting users’ online safety, according to Google’s website. Core teams include key technical units from information technology, its Python developer team, technical infrastructure, security foundation, app platforms, core developers, and various engineering roles.

    • GarlicToast@programming.dev
      link
      fedilink
      arrow-up
      15
      ·
      6 months ago

      If I’m reading their CEOspeak right, their objective is to fire the very experienced people, that costs a lot of money, and replace them with people that costs less.

      I never worked at Google, so I don’t know for sure, but it sounds like the Python team is important and that this will backfire. As the people that costs less will also be less skilled, and Python is an important piece for AI/ML research, where Google is already lagging behind. The AI people in Google will get lower quality help with Python, and Google will lag even further behind.

      That what happens when the CEO is an MBA and not an engineer.

      • ericjmorey@programming.dev
        link
        fedilink
        arrow-up
        6
        ·
        6 months ago

        Engineers over index in their own ways, but I think you’re spot on with decoding the PR speak.

        The Python team was very involved with the Python Software Foundation and was influencial with directing priorities for the Python programming language reference implementation (which is by far the most widely used implementation of Python). Google just gave up their say in how the language will evolve. Seems like an incredibly bad strategy. But then again, Google has been, from a financial perspective, nothing more than a digital classified ads platform for decades. If a smart MBA were running Google they’d start spinning off divisions into new IPOs and cashing in with dividends like other large conglomerates have done in the past when they have stopped inovating or actually commit to their projects long term.

    • burlemarx@lemmygrad.ml
      link
      fedilink
      arrow-up
      3
      ·
      6 months ago

      It’s not dumb. They understand what they are doing. They think firing multiple people at once can flood the market with developers, and the situation could be used to hire new people with a lower compensation.

      Don’t think the rationale behind this is work quality or developer productivity. This is a power move. For Google and many big tech companies devs are replaceable and are just cogs in the machine. The problem is that they became too costly with the advent of COVID.

  • porgamrer@programming.dev
    link
    fedilink
    arrow-up
    25
    ·
    6 months ago

    “As we’ve said, we’re responsibly investing in our company’s biggest priorities and the significant opportunities ahead,” said Google spokesperson Alex García-Kummert. “To best position us for these opportunities, throughout the second half of 2023 and into 2024, a number of our teams made changes to become more efficient and work better, remove layers, and align their resources to their biggest product priorities. Through this, we’re simplifying our structures to give employees more opportunity to work on our most innovative and important advances and our biggest company priorities, while reducing bureaucracy and layers”

    There was this incredible management consultant in france in the 18th century. Name eludes me, but if he was still around Google could hire him and start finding some far more convincing efficiencies.

    The guy was especially good at aligning resources to remove layers

  • eveninghere@beehaw.org
    link
    fedilink
    arrow-up
    22
    ·
    6 months ago

    I am a manager at a big tech and I hate capitalism. CXOs really only care about profits, and thus everybody high-level proposes new enshittification strategies.

    • ericjmorey@programming.dev
      link
      fedilink
      arrow-up
      19
      ·
      6 months ago

      Python is in essence the interface for AI tools that are optimized with languages that are easier to get high performance results with.

      • frezik@midwest.social
        link
        fedilink
        arrow-up
        22
        ·
        6 months ago

        They’re almost certainly using it as glue code. You have to go out of your way not to use Python for it.

        • stevecrox@kbin.run
          link
          fedilink
          arrow-up
          5
          ·
          edit-2
          6 months ago

          You do, but considering the scales they process data I suspect Google would be better building Go tooling (or whatever the dominate internal language is).

          A few years back I was trying to teach some graduates the importance of looking at a programming language ecosystem and selecting it based on that.

          One of my comparison projects was Apache OpenNLP/Camel vs Flask/Spacy.

          Spacy is the go to for NLP, I expected it to be either quicker to develop, easier to use, better results or just less resources.

          I assigned Grads with Java experience Spacy and Python experience OpenNLP.

          The OpenNLP guys were done first, they raved about being able to stream data into the model and how much simplier it made life.

          When compared with the same corpus (Books, Team emails, corporate sharepoint, dev docs, etc…) OpenNLP would complete on 4GiB of RAM in less than a second on 0.5vCPU. Spacy needed 12GiB and was taking ~2 seconds with 2vCPU. They identified the same results…

          Me and a few others ended up spending a day reading the python and trying to optimise it, clearly the juniors had done something daft, they had not.

          It rather undermined my point.

          • Biyoo@lemmy.blahaj.zone
            link
            fedilink
            arrow-up
            1
            ·
            6 months ago

            I don’t know how you could make a server faster than with flask honestly (which I guess is similar to spacy ?), so these results are very surprising. Especially against java, java is so freaking verbose.

            • stevecrox@kbin.run
              link
              fedilink
              arrow-up
              2
              ·
              6 months ago

              It was a mixture of factors.

              Data was to be dumped into a S3 bucket (minio), this created an event and anouther team had built an orchestrator which would do a couple of things but eventually supply an endpoint a reference to a plain/txt file for analysis.

              For the Java devs they had to [modify the example camel docs.](https://camel.apache.org/manual/rest-dsl.html) and use the built in jackson library to convert the incoming object to a class. This used the default AWS S3 api to create a stream handle which fed into the OpenNLP docs. .

              The Python project first hit a wall in setting up Flask. They followed the instructions and it didn’t work from setup tools. The Java team had just created a new maven project from the Intelij but the same approach didn’t work for the Python team using pycharm. It lost them a couple days, I helped them overcome it.

              Then they hit a wall with Boto3, the team expected to stream data but Boto3 only supports downloading, there was also a complexity issue the AWS SDK in Java waa about 20 lines to setup and a single line to call, it was about 50 lines in Python. On the positive side I got to explain what all the config meant in S3.

              This caused the team anouther few days of delay because the team knew I used a 350MiB Samsung TV guide to test the robustness and had to go learn about Docker volume mounting and they thought they needed a stateful kubernetes service and I had to explain why that was wrong.

              Basically Python threw up a lot of additional complexity and the docs weren’t as helpful as they could have been.

              • Biyoo@lemmy.blahaj.zone
                link
                fedilink
                arrow-up
                1
                ·
                6 months ago

                I am not familiar with AWS apis. Probably Java was more suitable for this task then, as it often comes down to how good the documentation and tutorials are for the task and how many people use it. Like you said bad documentation is a big issue.

                I can also see how they could struggle with python dependencies, which I guess is the reason why they struggled setting up flask. With a java project you can just nuke everything from scratch and reinstall the correct compatible packages. But with python global dependencies (without env) you cannot get around the issue like that. That makes it harder for beginners. (But for intermediate give me anything but maven please).

                Maybe Python flask wasn’t’t the tool for the task here, but I still think it’s overall better and especially faster to use for most things.

  • Artyom@lemm.ee
    link
    fedilink
    arrow-up
    24
    arrow-down
    13
    ·
    edit-2
    6 months ago

    I spent thr last 10 minutes reading the flutter docs, and I have no fucking idea what it is, what language it is written in, or generally anything useful about it. I think we’ll be fine.

    Also, Google’s contributions to Python are mostly obsolete. optparse was replaced by argparse which is .mostly replaced by click. Yapf was never successful and black has taken a commanding lead. Python will be just fine.

    • icesentry@lemmy.ca
      link
      fedilink
      arrow-up
      28
      arrow-down
      3
      ·
      6 months ago

      If you couldn’t figure out what flutter is in 10 minutes that reflects poorly on you much more than anything else.

    • SrTobi@feddit.de
      link
      fedilink
      arrow-up
      25
      ·
      6 months ago

      Flutter uses dart. It’s one of the best ui building frameworks I have used. Not that it is perfect…

      • realharo@lemm.ee
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        6 months ago

        Flutter - the framework - is great. Dart as a language is tolerable - lot of ugly boilerplate, manual codegen, and things you can’t quite express correctly are everywhere, but if you’re not too much of a stickler, Flutter is still worth it (at least until Compose Multiplatform matures - if ever).

        • FizzyOrange@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          6 months ago

          I would say it’s not as good as really great languages like Rust, but it’s much nicer than Python or JavaScript. I would say it’s nicer than Typescript too. Typescript has a better type system but it’s held back by JavaScript.

        • blusterydayve26@midwest.social
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          6 months ago

          It’s the carcinisation of programming languages. Everything evolves into JavaScript.

          Though let’s be real, even JavaScript evolves into Lisp.

    • AMDIsOurLord
      link
      fedilink
      arrow-up
      24
      arrow-down
      1
      ·
      edit-2
      6 months ago

      Flutter is a UX/UI framework for Dart programming language. Dart is a statically typed (optionally dynamic possible), completely type safe, soundly null-safe compiled programming language. It can compile to JS to run on the web, or compile to x86_64 or Arm assembly to run on hardware.

      Combining Dart, which is honestly an awesome but underrated language with Flutter which is a declarative UI framework, I have found a new love for app development. It’s very pleasant.

      And now I get shot in the dick with this news…

    • neutronst4r@beehaw.org
      link
      fedilink
      arrow-up
      3
      arrow-down
      2
      ·
      edit-2
      6 months ago

      I typed in “python flutter” into Google and clicked on the first link. The first pictures shows a bit of code and a simple window with two buttons. I go back to the code and skim it. It defines the buttons. How you cannot deduce from that, that this library makes UI says a lot about you.
      I also think your assumption that click replaced argparse is wrong. Click heavily relies on decorators which makes separation of functional code and command line interface code either impossible or difficult. If you only care about your one program that is fine, but it does make your code not very reusable.

      • Artyom@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        Flutter has nothing to do with Python as it’s a JavaScript library, so if looks like we’re in the same boat.

  • GissaMittJobb
    link
    fedilink
    arrow-up
    6
    ·
    6 months ago

    Looks like my Lemmy-client of choice did some retrying when I had poor connection, sorry about that.

    I think trying to go cheap on native apps was always kind of a fool’s errand, tbh. Cordova, Xamarin, React Native and so on - all pretty sub-par solutions leading to poor experience without actually materializing the desired savings.

      • jkrtn
        link
        fedilink
        arrow-up
        2
        ·
        6 months ago

        Anecdotally I mostly hear that the cross-platform code doesn’t work so you end up needing to write platform specific implementations of everything anyway. But in Flutter. And it is harder to hire good talent for.

  • AutoTL;DR@lemmings.worldB
    link
    fedilink
    English
    arrow-up
    2
    ·
    6 months ago

    This is the best summary I could come up with:


    Ahead of Google’s annual I/O developer conference in May, the tech giant has laid off staff across key teams like Flutter, Dart, Python and others, according to reports from affected employees shared on social media.

    “As we’ve said, we’re responsibly investing in our company’s biggest priorities and the significant opportunities ahead,” said Google spokesperson Alex García-Kummert.

    “To best position us for these opportunities, throughout the second half of 2023 and into 2024, a number of our teams made changes to become more efficient and work better, remove layers, and align their resources to their biggest product priorities.

    Through this, we’re simplifying our structures to give employees more opportunity to work on our most innovative and important advances and our biggest company priorities, while reducing bureaucracy and layers,” he added.

    Meanwhile, others shared on Y Combinator’s Hacker News, where a Python team member detailed their specific duties on the technical front and noted that, for years, much of the work was done with fewer than 10 people.

    WARN, or the California Worker Adjustment and Retraining Notification Act, requires employers with more than 100 employees to provide 60-day notice in advance of layoffs.


    The original article contains 700 words, the summary contains 191 words. Saved 73%. I’m a bot and I’m open source!

    • dev_null
      link
      fedilink
      arrow-up
      19
      ·
      edit-2
      6 months ago

      Someone who wants to have Google on their CV when they leave in 2 years. Generally works out.

        • Kedly@lemm.ee
          link
          fedilink
          arrow-up
          5
          arrow-down
          1
          ·
          edit-2
          6 months ago

          How is idiot not immature name calling, but dumbass is?

            • Kedly@lemm.ee
              link
              fedilink
              arrow-up
              2
              ·
              6 months ago

              So if he phrased it as “The kind of person who would ask a question like this is a dumbass” not be immature name calling? Becuase that’d successfully not cross this weird line in the sand you’ve drawn

              • refalo@programming.dev
                link
                fedilink
                arrow-up
                0
                ·
                6 months ago

                I think it would just be a subjective opinion at that point.

                And it’s not my line in the sand, but the actual definition:

                Name-calling is a form of argument in which insulting or demeaning labels are directed at an individual or group.

                • Kedly@lemm.ee
                  link
                  fedilink
                  arrow-up
                  1
                  arrow-down
                  1
                  ·
                  6 months ago

                  Someone who wouldnt realise that that definition applies to both insults isnt the greatest at reading comprehension