this post was submitted on 29 Apr 2024
176 points (100.0% liked)

Programming

423 readers
2 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] ericjmorey@programming.dev 51 points 6 months ago (5 children)

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 42 points 6 months ago (2 children)

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

Python ain't going anywhere tho

[–] ericjmorey@programming.dev 6 points 6 months ago* (last edited 6 months ago) (2 children)

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

Why not?

[–] Ephera@lemmy.ml 25 points 6 months ago (1 children)

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 2 points 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 14 points 6 months ago (3 children)

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.

load more comments (3 replies)
[–] FizzyOrange@programming.dev 4 points 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.

[–] magic_lobster_party@kbin.run 15 points 6 months ago (2 children)

Has anyone used Dart the past decade?

[–] adam@doomscroll.n8e.dev 24 points 6 months ago

Aside from everyone who's using flutter?

[–] frezik@midwest.social 6 points 6 months ago

I sorta forgot it existed.

[–] DeprecatedCompatV2@programming.dev 5 points 6 months ago (1 children)

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 7 points 6 months ago (1 children)

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 3 points 6 months ago* (last edited 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.

[–] CodingCarpenter@lemm.ee 1 points 6 months ago

Sass won't be too happy

[–] umbrella@lemmy.ml 1 points 6 months ago (1 children)

Flutter

looking at you, canonical.

[–] ericjmorey@programming.dev 2 points 6 months ago (2 children)

I'm not sure how cononical is connected to this.

[–] umbrella@lemmy.ml 3 points 6 months ago* (last edited 6 months ago) (1 children)

they pledged to adopt flutter heavily in ubuntu's apps, in partnership with google. they even took like a couple cycles to port their entire installer and snap store to it.

[–] ericjmorey@programming.dev 1 points 6 months ago

Interesting. This wouldn't be the first time that they pushed forward with tools that were later abandoned due to lack of uptake outside of the Ubuntu ecosystem if it comes to that.

[–] umbrella@lemmy.ml 2 points 6 months ago* (last edited 6 months ago) (1 children)

they pledged, with google's backing no less, to focus on it to develop ubuntu apps. they even spent a few of cycles working on porting their installer and snap store to it.

[–] eveninghere 22 points 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.

[–] porgamrer@programming.dev 17 points 6 months ago (2 children)

“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

[–] odium@programming.dev 10 points 6 months ago (2 children)
[–] JustBrian7872@feddit.de 11 points 6 months ago

I also cannot name him from the top of my head...interesting

[–] DmMacniel@feddit.de 5 points 6 months ago (1 children)

You could make a religion out of this.

[–] odium@programming.dev 4 points 6 months ago
[–] onlinepersona@programming.dev 13 points 6 months ago (2 children)

Can't really make heads of tails of this. I thought they were really into AI and Python is a big part of that. Which other languages are they going to invest in? Rust for Chromium?

Anti Commercial-AI license

[–] ericjmorey@programming.dev 10 points 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.

[–] huginn@feddit.it 1 points 6 months ago (1 children)

They're probably not using python for AI

[–] frezik@midwest.social 14 points 6 months ago (1 children)

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 5 points 6 months ago* (last edited 6 months ago) (1 children)

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 1 points 6 months ago (1 children)

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 2 points 6 months ago (1 children)

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 1 points 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 11 points 6 months ago* (last edited 6 months ago) (4 children)

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 20 points 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 17 points 6 months ago (2 children)

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

[–] realharo@lemm.ee 4 points 6 months ago* (last edited 6 months ago) (2 children)

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).

[–] SrTobi@feddit.de 1 points 6 months ago

Yeah totally agree. I can give it credit for being adapted for better accommodating flutter, but it has extremely many things where it does not come across as modern

load more comments (1 replies)
[–] DeprecatedCompatV2@programming.dev 3 points 6 months ago (1 children)

I just hate reading it. I wish it looked more like Kotlin and less like JavaScript 😭

[–] blusterydayve26@midwest.social 2 points 6 months ago* (last edited 6 months ago)

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

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

[–] neutronst4r 4 points 6 months ago* (last edited 6 months ago) (1 children)

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 1 points 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.

load more comments (1 replies)
[–] GissaMittJobb@lemmy.ml 5 points 6 months ago (2 children)

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.

load more comments (2 replies)
[–] MonkderDritte@feddit.de 3 points 6 months ago* (last edited 6 months ago) (1 children)

Aren't a lot of Android apps made with Flutter?

[–] autotldr@lemmings.world 2 points 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!

load more comments
view more: next ›