- cross-posted to:
- cross-posted to:
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.
You shouldn’t have ever been recommending dart or flutter.
Python ain’t going anywhere tho
You shouldn’t have ever been recommending dart or flutter.
Why not?
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.
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.
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.
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.
If you’re prioritizing cost, you should probably already be building a web application imo. There’s very few cases where I would recommend cheaping out and building a native app, it’s just kind of unsound.
If you’re prioritizing cost, you should probably already be building a web application imo. There’s very few cases where I would recommend cheaping out and building a native app, it’s just kind of unsound.
It looks like your reply got submitted multiple times.
I agree with you now about preference for web apps, but that was not the case when Google started pushing Flutter.
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.
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.
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.
If you’re prioritizing cost, you should probably already be building a web application imo. There’s very few cases where I would recommend cheaping out and building a native app, it’s just kind of unsound.
If you’re prioritizing cost, you should probably already be building a web application imo. There’s very few cases where I would recommend cheaping out and building a native app, it’s just kind of unsound.
If you’re prioritizing cost, you should probably already be building a web application imo. There’s very few cases where I would recommend cheaping out and building a native app, it’s just kind of unsound.
If you’re prioritizing cost, you should probably already be building a web application imo. There’s very few cases where I would recommend cheaping out and building a native app, it’s just kind of unsound.
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.
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.
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
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.
Has anyone used Dart the past decade?
Aside from everyone who’s using flutter?
I sorta forgot it existed.
That’s a terrible language IMO
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.
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.
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?Dart has all the modern bell and whistles and bullshit syntax too, the Wikipedia samples hardly do it justice
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
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
I actually use it in all of my projects it’s so delightful lol!
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.
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.
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 compilersupport 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.
Flutter
looking at you, canonical.
I’m not sure how cononical is connected to this.
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.
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.
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.
OOF
Sass won’t be too happy
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.
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.
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.
Maybe we just need CEOs to be more receptive to developers’ wishes.
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.
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.
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.
They’re hiring replacements in Germany, not India.
have you seen the salaries in Germany? still much much cheaper than Bay Area
Yes. I was just giving accurate information, not making any sort of argument.
Now that the foundation is already there, they future work won’t be as complex as before and need less training.
LOL, LMAO even.
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.
“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
Robespierre?
I also cannot name him from the top of my head…interesting
Or any part of your head, I imagine.
You could make a religion out of this.
No don’t
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?
Python is in essence the interface for AI tools that are optimized with languages that are easier to get high performance results with.
They hired cheaper talent from elsewhere for python.
They’re probably not using python for AI
They’re almost certainly using it as glue code. You have to go out of your way not to use Python for it.
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.
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.
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.
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.
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.
Flutter uses dart. It’s one of the best ui building frameworks I have used. Not that it is perfect…
I just hate reading it. I wish it looked more like Kotlin and less like JavaScript 😭
It’s the carcinisation of programming languages. Everything evolves into JavaScript.
Though let’s be real, even JavaScript evolves into Lisp.
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).
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.
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
If you couldn’t figure out what flutter is in 10 minutes that reflects poorly on you much more than anything else.
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…
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.
deleted by creator
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.
Aren’t a lot of Android apps made with Flutter?
Yes
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!
FUCK
Google why do you do me like this
What idiot applies for a job at Google?
Someone who wants to have Google on their CV when they leave in 2 years. Generally works out.