Це відео не доступне.
Перепрошуємо.
Carbon Lang… The C++ killer?
- Додати в
- Мій плейлист
- Переглянути пізніше
- Поділитися
Поділитися
Вставка
Розмір відео:
- Опубліковано 18 сер 2024
КОМЕНТАРІ • 2 тис.
Наступне
Автоматичне відтворення
a fresh new web framework is outFireship
Переглядів 632 тис.
Is Google Trying to Kill C++? (Not Exactly)Low Level Learning
Переглядів 92 тис.
Val - The Rust Killer | Prime ReactsThePrimeTime
Переглядів 94 тис.
КУДА ДАЛЬШЕ ДВИНУТСЯ ВСУ? БЕСЕДА С ЮРИЙ ФЕДОРОВФЕЙГИН LIVE
Переглядів 553 тис.
⚡❗Массовая сдача в плен российских солдат в Курской областиВОТ ТАК
Переглядів 3,3 млн
МАФИЯ в РЕАЛЬНОЙ ЖИЗНИ: Масленников, Матвиенко, Булкин, Сабина, Бустер, Дилара, Гурам, Леон, ЯнчикДима Масленников
Переглядів 7 млн
ПОЛЬЩА на межі КАТАСТРОФИ. Українці МАСОВО їдуть з країни. Що сталося?Ми - Україна
Переглядів 1,2 млн
Rust vs C++conaticus
Переглядів 71 тис.
zig will change programming foreverLow Level Learning
Переглядів 280 тис.
how to never write bugFireship
Переглядів 865 тис.
Zig for Impatient DevsIsaac Harris-Holt
Переглядів 83 тис.
The Dream Programming Language? LobsterCode to the Moon
Переглядів 146 тис.
C++ Game Programmer Tries ZIG for the first time.Low Level Game Dev
Переглядів 58 тис.
Making a Game with Java with No ExperienceGoodgis
Переглядів 182 тис.
Reacting to Controversial Opinions of Software EngineersFireship
Переглядів 2 млн
My Bleeding Edge Tech Stack for 2025Fireship
Переглядів 933 тис.
Gli occhiali da sole non mi hanno coperto! 😎Senza Limiti
Переглядів 11 млн
«Це край, де я родилася й живу! І нікуди я звідси не поїду» #shortvideoСуспільне Запоріжжя
Переглядів 534 тис.
Яшин - интервью после тюрьмы / вДудьвДудь
Переглядів 8 млн
Арестович: Операция ВСУ в Курской области. @A.ShelestAlexey Arestovych
Переглядів 3 млн
7 Days Stranded In A CaveMrBeast
Переглядів 56 млн
Можно ли пропускать завтрак? #эндокринолог #питание #диеты #правильноепитаниеВлад Аганов
Переглядів 4 млн
ПОМОГЛА НАЗЫВАЕТСЯ😂Chapitosiki
Переглядів 27 млн
Державний Прапор України підняли на КУРЩИНІ в рф😍🇺🇦💪🏻 #курськ #прапорукраїни #рф #війна #наступТелеканал Конкурент TV - новини Луцька та Волині
Переглядів 432 тис.
"Employers are already looking to hire Carbon developers, you just need to have 10 years of Carbon experience to apply." TOO REAL
It's called marketing. They post fake jobs in freelancing sites. Go search for flutter jobs you will understand.
For a junior position too 😳
Don't forget "C++ experience doesn't count"
"Why arn't we getting any applicants?"
For slightly above minimum wage. They are junior devs, after all
"Now, I've only been coding for about 12 years, which isn't nearly enough time to learn C++..." 😂
I literally laughed out loud with that on HAHA
Enough time to learn 100 FE frameworks
24 of C++, I had to look up std::span today.
Dude, first I laughed. Then I cried 😄
@@joshuaunderwood7 to be fair std::span is a new feature in C++20
His ending touch with that 10 years experience is just PERFECT
and its for a junior dev position 🤦♂️
I always thought that "must have 5 years of experience in [BRAND NEW TECH]" is a meme. Guess I was wrong.
@@gfrewqpoiu, it *is* a meme … Why do you think you were wrong?
@@seanvogel8067 You’d be surprised what you find on LinkedIn when recruiters with no CS background post job listings
@@gfrewqpoiu I wish it was just a meme
TIP: If you start coding today in Carbon you can say in an interview "I have been coding in Carbon since it's very inception"
Does anyone remember which language it was where the person that invented it was turned down for a job because he didn't have enough experience in the language?
@@FraggleH idk but I'm sure that this happened, those hiring hags would def do that
And if you just started programming, you can say "I've been coding in Carbon in my whole career".
@@FraggleH It was a Javascript library whose inventor got turned down for "not having enough experience" in it :D
I forgot which it was though
@@FraggleH It was FastAPI, Sebastián Ramírez was the creator
Many people misunderstand it as
Rust competitor
C++ Replacement
When it's really an alternative to massive c++ codebases which can't feasibly migrate to some other language without sacrificing something.
You seem to misunderstand it as a (viable) alternative. Also Rust does have that explicit purpose too. I.e. adding to and replacing parts of "massive c++ codebases which can't feasibly migrate". It's the same goal Zig has with C codebases.
@@nikoladd if rust was really so seamless google wouldn't need to make this. Also I don't think it's viable right now, it's experimental right now.
I guess I should have said "..."when it really *aims* to be an alternative...
As soon as rust is mentioned, it always starts a debate. They really like to argue with people It seems. I guess that bad publicity will make people try It and find that they like it ..yeah... that's the strategy.
"without sacrificing something"
Mostly their maintainers sanity... ;-)
@@codemastercpp well yes I agree with you that Rust is not seamless conceptually. Actually it places a lot of "coding standards" which are hard to accept by the "free people of the C/C++ land". For all of those restrictions however there are very good reasons. Rust is however drop in replacement CAPABLE, which is the main point and also the real question is: Do you want to solve actual problems? Or you want to write whatever you like, however you like? Rust does provide guarantees. C++ doesn't. Carbon doesn't either.
Best channel on the internet. The code report is literally how I remain 'in touch' with what's new or trending, letting me focus on the tech stack that matters for my actual work.
Woah, you don't learn every new stack released? That's a huge sin.
@@Yassir.A.P. hahahahah 😂
@@Yassir.A.P. at least know it exists
I would love a news report in how he col info and makes those reports
The Carbon project advises to use other languages such as Rust, Swift, Kotlin or Go if you can. Their aim is extremely specialized: modernize huge C++ codebases, allowing ABI breakage thus keeping the language flexible.
I have seen many complaints about C++ interop on the past, not only from Rust projects but also from many other languages with a solid C FFI. From Python to Haskell. The two main pain points always seem to be exceptions and templates.
So, it makes perfect sense for Carbon to support but not encourage these features. With that said, there's a plothole: how did Mozilla use Rust so effectively to build Servo and integrate it with the C++ heavy Firefox? Was it a matter of not having used the problematic features too much in the C++ side? Did they use some inconvenient -for-google interfacing approach? Why can't Google use Rust the same way Mozilla did? Mind you, it's not a lack of liking/support for Rust, as Google belongs to the foundation and also has started using Rust in Android.
Zig is quite nice for interop with C or C++ as well but it's not stable yet. However it's tooling is already being used in prod at Uber and Cloudflare: ua-cam.com/video/SCj2J3HcEfc/v-deo.html
People in Google may have the same thought as you, but they just belong to other teams, and are unable to express their ideas on this project.
Google reward system encourages the managers to launch new products. It doesn't matter how needed they are or how well they will be supported
Servo is like dead project already.
@@hilmyakatsuki1665 They integrated it in Firefox
The fact that you need a VERY specific version of LLVM to build it and that it uses Bazel as a build system, I don't think this'll kill anything any time soon
Just what I need: installing yet another build system.
Makes sense for Google to take this step. Their chrome and chromium codebase is huge. They already have some top of the shelve programmers, why not use them to address c++'s shortcomings
Get an Iran IP Address With a VPN, then you can not download and use google products. Like Android studio, Golang Many Play store apps. GOOGLE IS EVIL
I don't understand what you mean by "C++'s shortcomings"... Step 1. Know what you're doing. Step 2. Code c++
@@Iverass As mentioned in the video, the language is bloated, new unnecessary features get added every year, leading to a lack of standardization that may have severe repercussions for maintaining and developing large codebases.
@@Iverass Not everyone can be a unicorn. Modern computation requires a team of people working around the clock and around the globe. Not everyone can spend massive amounts of time trying to understand a language. The world we live in is fast-paced. Relying on a small group of people who really know all the quirks of C++ is counter-productive.
The solution is to build a new language that addresses these shortcomings of a language with modern programming language mechanisms.
Quit being so hostile to ideas, relying on one way of doing things is staggnation.
@@_orangutan To add to this: I was talking about Google specifically, but for Chromium, for example, even their above-junior level devs hesitate here and there with the kinks of the language (from what I could tell from their instructional videos). Plus, in the case of Chromium itself, they also rely on open-source and accept contributions from companies outside of Google. And then there are surely areas involving C++ where the strength of the professionals is not in programming itself - for example data scientists and AI specialists. I agree with the general point that language readability and reasonability is always important, just wanted to add more detail for this to be important for Google.
That job posting was too funny man, thank you for this code report, amazing work as always.
I can draw in Photoshop. Should I apply?
@@lubricustheslippery5028 no, you need 3 years experience in paint
My biggest gripe with carbon is syntax. It feels like there's so much fluff and it looks horrendous.
Call it superficial, but ugly syntax is unpleasant to work with.
Yeah, you know.. why do they have to change the basics.. Like `typename varname = value` in C++ over to `var varname: typename = value` in Carbon? What was wrong with the other syntax? Why couldn't they just use mostly the same syntax, but just REALLY improve on it?
You will accept it anyways cuz cmon brrrrooo, guouugle brooo, totally pounds c++ broooooo.
Same vibe. Everything feels backwards.
@@rameynoodles152 This 'new' syntax just looks and reads like Pascal. That brings so many memories back from the 1980s... :)
I can imagine separating the name and the type makes writing and decyphering some complex declarations a bit easier, e.g. the famous 'signal' function in C:
void (*signal(int sig, void (*func)(int)))(int);
(No, I don't know how this is going to be declared in Carbon--yet)
But even extreme cases like the one above can be simplified in plain C or C++:
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
I am with you. I prefer C++ syntax over Typescript syntax.
50 years later
Now this "C++ Killer" will finally replace it, with even more terrible syntax and centralised package manager!
Welcome to the long list of C++ killers... Rust, Go, and uh Carbon?
C++ :D
I think Go is C killer, not C++
Rust, Odin and Zig are the best candidates IMO. Zig is getting really big really fast.
Rust has a completely different use case compared to carbon. Carbon is made to replace c++ (brownfield), Rust is made to build new systems (greenfield). So while Rust can replace c++, it's definitely not retrofitting c++ bases in the way carbon will.
Well, dont forget D, Zig, V, Jai...
"If you've ever seen a C++ hello world that uses this cout BS, then it looks like a revolutionary improvement"
I nearly spit out my drink, thank you for saying the truth :)
honestly cout is pretty useless for most use cases, c-style printf is way cleaner imo
Std::print() or fmtlib
The only thing worse than std::cout is std::cin
@@ccgarciab it's ugly as cin.
Operator overloading is such a meme
I don't _like_ C++, but over the past thirty-odd years I've seen so many self-proclaimed "C++ successors" come and go that it's hard to get excited. Like, sure, maybe this is The One To Actually Do It™ and I'd love nothing more; I just don't really want to count my chickens before they hatch, y'know.
It can be, as google can just say: "You WILL use it on Chrome. Like it or not"
I highly doubt it
First thing that comes to mind is the video game industry, it seems to me like trying to move onto a new language on top of all the problems they're trying to solve doesn't sound like something that will happen in the industry as a whole
There is no spoon 😂
after all these years c++ is improving and growing in its own way ... carbon is still experimental and has long way to be a true successor. so far none are even close.
This was my attitude when it came to picking angular v1 (around the time when angular 2 came out) vs vanilla js with some strict design rules.
Also xamarin when apple pulled their support for it when picking a platform for mobile.
I tend to stick with KISS "keep it simple stupid", it's much harder to find resources when you over complicate the platforms.
Sure there are some pros you miss out on, but atleast I can still support native a lot better than some fancy new language that has a fraction of the developer base.
I started coding in ’82 - the problem that I stopped coding in ’90. I promise I will re-start if Carbon comes out.
"Back in the days of Assembly we didn't care about simplicity, only performance"
Damn youre old no offense but thats honestly pretty cool
@@Gamingman12362 Exactly, I don’t have that many years left that I could even burn out as a programmer
Can you write effective antivirus.
@@hydradragonantivirus As a matter of fact, I will write the “AI” that you will also use in 10 years - I had the “AI Dream” 🐼
"I've been programming for 12 years so I'm not ready for C++"
Me who learned C++ as my first language: 🗿
Respect
i'm still trying to learn c++ it's also the first programming language that I really tried to learn and I love it, the sad part is that for actually being hired in a job as a c++ developer you need to know so much and have years and years of experiencie, it makes me sad
Yeah that sucks
It's a pure fact that 10 years of professional experience is needed to become proficient in C++. It's actually a well-known fact.
@@ohwow2074 Yeah I know, I just find it crazy that some people say "Oh I'm not expierenced enough to use C++" and Im over here and its the first lang I learned.
"Within C++, there is a much smaller and cleaner language struggling to get out"
Ummm yes… C
I think bjarne accidentally said something he didn't want to there
No
C++ is what happened to C after it ate too many programmers... ;-)
No no, C is already out and not struggling at all.
Exactly. If Bjarne had a button to kill all C++ people, he would push it.
I wouldn't think Kotlin replaced Java. Java is still going strong.
Right, but Kotlin more flexible.
Yeah, in the third world
Kotlin replaced Java in Android development and it was made to do that.
@@Frewition how many dev's uses kotlin for backend?
So is JavaScript. The X is dead meme is nonsense.
Java said the same thing years ago.
Even C++ had the same ideology when it wanted to replace C and even probably has the best interop.
Carbon doesn't create anything new. Almost all the next stuffs they added was added in C++20 or coming to C++23: Concepts and Modules are two such examples.
Replacing TypeScript with JavaScript works as almost nothing is lost during the migration as TypeScript superceeds JavaScript, AND ALSO, the creators have access to the virtual machine onto which the code is executed.
How do you intend to replace C++ in the embedded System community? Would you rewrite all the versions of the g++-arm, avr-g++, microcrip compilers in Carbon? For every microcontroller?
Personally, i think replacing C++ is too hard. You either create a language that finds its audience in a specific field (Goland for web development - Subcategory Dev Ops, C# GUIs on Window + Game development, Java for enterprise and university) or get ignored.
that's legacy code. They'll support that tech for so long.
the fact that plethora of language pop out show how bad c++ is.. (rust, zig, odin, hare, jai, jakt, etc ) spec doesnt matter much.. the language getting complex with every iteration...
@@_slier Actually, it is the opposite. C++ is actually a great language. If perfection was obtainable, i would say C++ was perfect.
See for example, almost all of those language creators were C++ enthousiasts or lovers at one point in time. The language is so good that its developpers get the skills from it to create new ones. Moreover, it shows how verstile the langugae is: Embedded system, Webservers, databases, scientific programming, machine learning, game development, ... .
No PHP developper has created a language even though PHP is know as a crappy language.
The fact that C++ has survived so long without any huge company backing it up, shows how strong the language is.
I however just wish, it gets with the time with proper support for concepts, modules in the standard library and for the love of God, a freaking package manager (or at least recommended or endorse one). A package manager would solve so many problems in this language man.
You don't understand compilers. LLVM is the solution to your microchip problem. Languages don't compile from top to low level in one step, they use many intermediate representations. Which is where LLVM comes in, it offers multiple IRs targeted compilers of many languages, including C++, Rust, Java, Haskell, OCaml, C, etc. once you properly target the proper llvm IR, you can use that language for any backend bytecode that thr llvm IR compiler supports.
@@_slier no it just shows how people are too stupid too code and dont understand C++. so o combat their inferiority complex they have to create a new language that is dyslexic, for example the "fn" keyword that has no place anywhere at all, both mozilla and google are up to something no good.
Soooo I can't hire a 10+ years experienced Carbon Senior dev, can't I?
Well, we are all made of carbon, so i got about two decades worth of experience. Am i hireable yet?
@@theterribleanimator1793 that's c++ and it doesn't count. sorry you're fired from this interview
@@reihanboo never been fired from an interview. Might be able to put that on my resume, thanks.
Yes, but it would be Apple's Carbon api for MacOS.
although carbon lang is quite an impressive advancement, to say it will ‘kill’ or make c++ useless is reaching and will very likely not happen; people always say a current language will die when new ones come out, but more often than not, they don’t
He was just joking, I think
more clicks
@@ubayabdelgadir4165 it was more of a general statement, i've been seeing a lot of people seriously calling it the 'c++ killer'. i agree with everything he said in the video lol
Assembly, cobol, pascal
you say that but who are the people using javascript over typescript, I feel like for any new thing built a solid 8/10 times it's gonna get built with typescript.
Dude, whoever scripts or edits your videos is a genius. I mean, the hidden meanings, humor, and layers in the visuals are just mind-blowing.
Yes, especially cutting gaps between sentences... (facepalm)
It's so early in development that it's not the question if it kills C++ or not, the question is if it's dead on arrival or not.
And it can't be answered because reading the issues it seems the only thing certain is its name and build system of the compiler.
Soon on every job listing:
Carbon - 10 years of experience required
And then they cry out "We can't find any new hires!"
Tech companies love making their own languages
NIH syndrome.
yet they don't hire anyone efficient in Lisp!
"10 years of experience" has become an ascended meme
Most of the problems I've seen in production C++ code are issues that code be resolved by better coding practices. Too many C++ guys are living in a world of excessive OOD and OOPS.
*most production code in most languages.
I’m always so nervous to invest time with Google projects. They have a tendency to abruptly stop active support…
What happened to Go?
go is still going strong. Anyway this isn't a google project per se, it's just been launched by google engineers.
Go still active and today much project written in Go.
Google has a better track record with developer-oriented products. As far as I know, Angular is still going strong despite its dwindling popularity.
As far as I understand, golang 2 would break the go programming paradigm so much that internal devs lost interest in it for now. The go 1 itself is quite frequently released, although not as frequently as rust but remember that rust is community project but golang is google internal led project.
Google killed off projects that didn't work out. Is that such a surprise?
Golang isn't going anywhere soon because it's been thriving. Stop living under a rock.
I'm so glad I found this channel, I've been looking for a good way to keep up to date with code trends and new stuff coming up without constantly having to search for things.
C/C++ never dies, we all know this. As Java and JS.
Actually C# has caught up to C++ in More way than One Go and Look at the Stats and See C# is one of the Top languages. That Programmers Use. In game Development. And for Backbend Development and a Variety of other things to. C ++ Has to many Brackets and for one Command you need tons of Code to do One thing. Thanks for the info But I will stick to C# and the dot net Eco System sorry to burst your Bubble I love C# I am a die hard fan of the Language even if Google Makes a new Language Called Carbon to Revive C++ So Well that My Answer to C++ and Carbon..
Ik C# can be used almost everywhere, and the game, fully written on this language, but instead of approving C++ I would say "every language created for its purpose, some of them good, some bad, some are bad attempts to replace old". That's my opinion :)
"There are 8 different successors to C++"
Google: "We are making the best successor of all"
"Now there are 9"
(the 8 is a some number I chose, since I have no ideas how many successors are there for C++)
8 is a good guess, lol
Bongomoth is my favourite recurring character in the Fireship-verse
Anyone provide the original clip the sounds? I could only find gifs
I feel sad that Google is not *Carbon* neutral anymore
HAHAHHA
Best comment
I see what you did there
You could also use Zig to interop with C++ and migrate the codebase over time, but I guess Google wants to have their own language so they are in control.
Many of proposed ideas for Carbon are already in Zig, even syntax is similar. Biggest difference is that Zig strives to be simple, where they want Carbon to have generics, overloading, inheritance and few other things to make C++ devs more comfortable.
Dlang also has C++ interop, so that can also be another option for ppl looking to move away from C++
Google on its way to create another useless language
I kind of imagine generics are a necessary feature if they wanted to eg write any of their libraries in SuccessorLang
Nah. Zig, Odin, Hare, etc. don't have the primitives to express a lot of C++ idiosyncrasies. Interfacing with C++ is different and harder than interfacing with C.
This is what I was saying, this shit sounds like zig
Cpp won't die, much like Java won't die. But, like Kotlin, it can be replaced and I think this will do just that.
When it becomes the favorite language on the stack overflow survey, 7 years in a row I might consider trying it out...
'most loved languages' aka the languages people don't use at work
@@askeladden450 I use the most loved language at work, and boy do I love it more than c++ or c.
That was a rusty roast indeed.
Rust is a neurotic language for neurotic people, and it just so happens that people who are going to respond to a survey on the single most toxic website on the internet are the same people who want that kind of language.
@@Arkevorkhat facts
Better naming alternative would have been C-+, C+-,C+++ or C*/--+.
++C
C^2
@@UtkarshUpadhyayTheGreat C^C
C#2
C+C (C plus C)
1:01 Overlooking the fact that C++ is already so insanely complicated to begin with, that it becomes exponentially harder to add new features without tripping over undesirable interactions with existing ones. Python 2→3 was one big bang of breakage, and evolution since then has been able to proceed much faster with minimal backwards-compatibility trouble.
Guys, I don't know why, but for some reason, languages just get relevance when there is some web bullshit related with it
With that in mind, I'm already making a brand new backend framework, that is completely written in Carbon and I will call it Cooal
One could even call it Colang 🤪
I wake up every morning longing for another Code Report.
So basically what Kotlin is for Java but for C++.
Except Vale already does that but without "le google"
@@jakelexington7610 And that's why nobody is using it!
Is what they said, but could be the Scala of Java, which is a failed attempt
The Readme says exactly that.
@@erickmoya1401 To be honest Scala was more about functional programming that replacing Java
Honestly, if nothing else, that bug playing bongo always puts a smile on my face 😂
3:16 knowledge of photoshop strongly preferred 💀
TypeScript killed JavaScript is like saying C++ killed ASM.
except learning asm actually has some value
I wouldn't write vanilla Javascript even if my life depended on it.
JavaScript is the only language you can use for interactive web pages without having to load an entire bunch of framework packages.
I feel like I’m still programming in C++, because I’m the kind of guy who still programs in C++. It’s very likely that I’ll still program in C++.
If I ever got to program in carbon, I'd still write c++ inside it
or become blind seeing all those ugly fn and let
I don't wanna judge, but it sounds like you're telling it to yourself so that you initially believe the lie!
@@adamkostrzewski4982
“ugly fn and let”
ah yes, because “const auto x =“ is so much prettier than “let x =“, gotcha
just admit you’re used to the old syntax and dont wanna change anything or bother trying anything new, its ok. i was the same way too
lol
I love how nearly every video I watch, they always mention my birthday... 22nd July but any other day doesn't get an introduction lol 😂
"Employers are already looking to hire Carbon developers. You just need to have 10 years of Carbon experience to apply".
Imagine the Google team working on Carbon development getting rejected by these employers.
Ikr, corporate world, telling dumb c**** to read your cv, fuckin tech bros.
I'm waiting on Carbon's package manager Dioxide to come out and then I'll take a look at it
From a non-coder myself (I do know some code, not enough to make me market-grade) I truly hope not. The least we need right now is Google having full control over something so very much important as it is C++.
I would kinda assume it's fully open source (I haven't checked tho)
@@Rugg-qk4pl I hope it would be free and open source, which will be no way towards proprietary and close source in the future. I would not imagine the future when Google charges law suit for programming language “misuse”.
@@Rugg-qk4pl it does not matter being open source if, at the end of the day, Google does have full control over it. Android is open source, yet, as it is, you are extremely dependent of every Google app, as you need to cover functionality that should be part of the base OS but Google decided to axe from the project, like a browser, phone dialer, contact list, simple calendar or mail app. Conflict of interests.
You also have Chrome and Chromium, where, as much as Chromium is open source, everyone else's has to play by whatever rules Google put on Chromium (derivative browsers too). 2 examples of this: hardware video decoding for older Intel iGPU's on linux. People made it work properly and well, were willing to maintain it and were willing to have it disabled by default (as it is not "supported by google" itself) but someone from Google said no and that was the end of it. The change to extensions that Google is planning to do just to neuter adblocks (TL.DR.: they say is for security, but it does not increase security in a big and meaningful way vs what you are losing overall) Almost everyone but Google was against it. But it is going to go through anyways, since Google can now use that hole to push his ads and tracking. And I am not going toeven touch their "cookie replacement" bs.
Problem is not open source or not, problem is who controls what. Google controlling the low level language used in every aspect is the big, big problem.
- Google'll not control C++, Carbon is another language backward compatible with it, but the ISO'll continue to mantain C++ standard apart
- What spooky things can Google do just controlling the syntax of a language? To be an usable replacement of C++ the compiler must be open source and wihout google extra "imposition" in the compiled code
@@freemansfreedom8595 -browser, phone dialer, contact list,calendar and mail apps are not part of an OS they're external programs
-an android phone can be completly de-googled with foss alternative of basic ( and non-basic ) apps like f-droid, and can be completly functional with a google core services replacement like micro-g
I'm baffled how people always cite "std::cout
Okay but std::cout IS objectively the idiomatic C++ way of printing. You do you. And while, yeah, bit shifting has nothing to do with input/output streams, the bit shift operators do indeed look like arrows to and from the streams. They make some intuitive sense, at least enough to not warrant boycotting it lol.
Java, C#, D, Rust, Carbon... so many languages kept saying "I am true successor of C++" over 25 years.
But in the real world now, we all say "we love python"
Literally did a review on carbon the other day! Love the video as usual my man! Expert tier explanations.
Where?
@@chadsworthgigafuck7076 inhouse team explanation (local knowledgebase), I'll be posting on my blog in a week or two on it. I'll reply the link to you :D.
I'll wait here too
The programming languages mentioned in the beginning - JavaScript and Java - are far from being "killed" by their more younger rivals (TypeScript and Kotlin): It's just plain lie.
Both languages keep evolving, getting new features and improvements etc.
Agree completely.
I think that's just a joke about how not every language that claims to be a "successor" of something can actually succeed in establishing the dominance
I assume he ment that as a joke
Meanwhile...
C: Weren't you the one who tried to break me with goodbye?
C: You think I'd crumble?
C: You think I'd lay down and die?
C: Oh no, not I, I will survive
C: Oh, as long as I know how to love, I know I'll stay alive
C: I've got all my life to live
C: And I've got all my love to give and I'll survive
C: I will survive
C: I will survive
I'm already obsessed with the Moth playing bongos GIF
“You just need 10+ years of experience with Carbon to apply” is so accurate. 😂😂 What will the HR people from companies think of next? 😭😭😭
2:08 cout is "console out", I think. After all, it's just a specific stream.
And if you don't like it, printf exists 🤔
never stop dropping the bongo moth, it genuinely makes me happy and brightens my day
Lmaooo the '10 years of Carbon experience' at the end was perfect
Just what the world needs - another programming language.
Alright, I'm interested
I kinda dig the "var : " declaration syntax and how all programming languages attempting to look cool and modern use it now, is there some advantage to this over " "? I guess it looks more like what one would expect a "declaration" in general to look like, but I dunno
It did feel nicer for me when i used it for 12 months doing ios development. In functions you can pass default values and things like that where the colon is good for visual separation.
because human readability
I guess it because of the generic type syntax, declare type after using it is kinda weird (T something[T: ! Type](x : T){...}) so they come up with fn something[T: ! Type](x : T) -> T {...}, because of this, everything has to be declared with this style for consistency
It avoids the most vexing parse. In C++, certain statements you would expect to be a form of direct initialization are actually function declarations. I'm pretty sure the problem exists in C as well, but its less of a problem over there.
@@iuploadthereforeiam3606 I'd have to double check, but I don't think you can have function declarations in function bodies in C.
Well said!.
That job posting at the end was ::chefs kiss::! Great job
I have 30+ years of Carbon experience. I live, breathe, sleep, walk, eat and talk Carbon 24/7. Hire me.
Rust for replacing C++ in new applications
Carbon for replacing C++ in **existing** applications
I like this plan.
It would be nice if they could build Carbon Rust interoperability someday.
And decades after, people are still using C and C++
Rust intends to replace C, not C++.
Forget it, noob🤣
Imagine one day smb rewrites Carbon compiler in Rust 🦀
Looks interesting, but I'm not exactly a fan of it's syntax, especially for generics. I understand > and < have more uses in C++ land than in other languages, but using them for generic type arguments has become pretty standard. Using ( ) is especially confusing since it reads as a constructor to me.
Idk, maybe C# and Java have just rotted my brain.
It's not ambiguous with constructors, since there are no constructors in Carbon! (Instead, like Rust, you can use factory methods of the class to create objects.) It is ambiguous with a function call, but I think it's supposed to be. They're trying to somewhat go along the "types are compile-time values" and "generic types are compile-time functions" path (though not as hard as Zig did, given that Zig generic types literally are just functions of comptime parameters).
Used C/C++, C#, and Java over the past 20 or so years, and recently js at my current job.. I've noticed the syntax of all these new languages like rust, go, carbon, and many others try to go out of their way to not align with most common languages syntax and it makes it really off putting to even want to try them.
About the job employment image towards the end, it is obvious that it is a joke considering Carbon was released on Jul 19th 2022 (and the image started going around the internet maybe at 22nd of July 2022), but it seemed to be a C++ job in Nashville that was edited.
Pretty obvious but i'll let it here for people in the future as a reference point in case this content lives that much.
That photo with the circular saw totally threw me off the subject! Great one.
Actually what you call "a cout BS" is a kinda straightforward way to work with a stream. It's not the easiest thing to understand, but beginners can just learn it without knowing how that really works. There's always a printf/scanf solution for those who don't know or like cout/cin.
What sucks about cout is how extremely common it is in virtually every single beginner tutorial, while also bearing essentially no similarities to beginner level code.
Print() is a normal function that looks like anything else. Forcing beginners to immediately be introduced to operator overloading and streams kind of sucks.
I don’t mean to disparage c++ by this, btw. I’m not saying the language should have been designed around beginners. But cout is a weird hurtle regardless both for brand new coders and programmers used to interacting with the console in _most_ other established languages.
@@bass-tones tbh, if "cout" is hard for beginners, than it's a good indicator to choose another job
right now industry suffers from endless stream of helloworders, which makes changing company/project huge pain, since you might end up in complete mess easily, no matter how everything looks on a surface
so sometimes having higher learning curve might be good
but that's just my grumpy opinion after conducting 20+ performance reviews this year, and having only one person out of 20 to actually know stuff. so might be a bit disappointed
It's BS because it totally misuses operator overloading to get the bitshift operator to do I/O
@@AttackHelicopter64 As in any business we row with the oars we have, can get, and can afford... Cheap, good, fast. Choose two, get one! ;-)
Anyone who tries to sell that `printf("%d%f%u", i, f, u)` is more beginner friendly than `std::cout
Google should try adopting / supporting Nim instead. Modern language with great C/C++ interop
The bug playing bongos kill me each times ahaha genius!
Dude the little quip at 2:01 made me laugh so much my stomach hurt.
Please never stop making your top tier infotainment content. Great videos!
What I'd really love is something as easy as maven or similar dependency management that also works multi platform. Honestly learning and setting up cmake for various platforms is in my experience as painful as it gets, and in my experience rarely worked out the box unless it was Unix and my dice roll hit a 6.
I know that is part of why people like cpp, the amount of control you have. But it's simply outdated, unintuitive for newer developers and often just simply overcomplicated
I don't like CMake too, it almost feels as if it's compiler scripting. You need to have the complete idea how your project is built, it's like a system of macros for compiler options and flags. What I think is that you will like Bazel: it's Google's cross-platform build system that works across different languages, and it is rock-solid with C++. You literally just put a single WORKSPACE file in the root of your project and for every target (executable or library), you make a separate BUILD file where you tell the target, its source and header files, visibility and dependencies, and Bazel will do it. It felt for me really reliving to switch to it.
Carbon has a bad syntax choices in my opinion, but it looks promising for future
Been coding C++ since 1990th, and still haven't lost hope to learn it
Oh boy how I remember all this Python 2 vs Python 3 fight and that some people were really saying they would want to give up Python entirely because version 2 would be deprecated in the (back then) nearby future.
And now what? Python is much more alive than ever, noone is talking about why "Python 2 is so much better than 3" and so on.
The world just moved on and so should have C++ but it just never did, because someone wanted to keep the compatibility to "C with classes".
The C++ interop goal is huge, and probably only possible/feasible thanks to LLVM/clang, which establishes a cross-platform C++ ABI. I wish that Rust would adopt a similar goal. I also wonder how Carbon will interop with Rust, since Google is a member of the Rust Foundation as well.
How will the interop work without support for exceptions? Carbon's doc on error handling forbids errors via exceptions and instead the function author presents errors through the return type, because "in many cases, the function author wants these failures to be recoverable." Unless LLVM/clang are capable of performing some magic I'm not aware that rewrites the supported exception-handling implementations AND keeps the program semantically consistent, I don't see how Carbon is going to support full, bidirectional interop short of asserting that exceptions don't exist and anyone that says otherwise is invoking undefined behaviour (which, to be fair, is Google's current stance anyhow).
As a rust fanboy myself, this is pretty nice, because rust really sucks for that usecase. Proper bindings etc. can make C++ code accessible, but it's just something else, and not designed for interoperability. Really looking forward to carbon because C++ could realllly use an upgrade lol
As another Rust fanboy I have to agree, I think Rust was never meant as a C++ replacement, it's more geared towards C imo. (I don't say it's not a good alternative to C++, but I think C programmers will have an easier time adapting because they don't have to unlearn 70% of their language)
@@m.sierra5258 As a C++ fanboy. I 100% agree.
Ignoring googles habit of abandoning projects left and right. I don't know how well it will do; and miles away from being ready. There have been some outstanding languages that have all but died who have tried to do what Carbon is setting out to do.
The D programming language is lovely, very memory safe. Doesn't have the crazy template system. Tries to be constant expressions by default. And was built with (at the time) c++ interop. When D was released it was 100% better than C++.
I think the real advantage of C++ is -- the committee. It doesn't provide a compiler, so there are 3 really good ones. It also looks carefully at what C++ needs and steals things from other languages.
1:05 when he said painful he really meant for it
Bruh that job posting at the end is sooo fukin accurate lmfao
Not gonna happen.. Many "new language creators" failed to understand basics of C++. They just want to fix problem that doesn't exist
We have a lot of languages inspired by C++, but none of them killed C++ . Just one look at design of the language. And you will see what is wrong - at the first sight.
We are C++ community, we will not let anything replace our horrible language, CARBON SHALL NOT PASS
What's more, I am sending my intercontinental ballistic missles to @Fireship for calling our beautiful
@@adamkostrzewski4982 if youre going to pull this garbage operator you better use std::endl aswell.
@@adamkostrzewski4982Both are bullshit.
System.out,println(); is best. although it took 5 minutes to type 😜.
@@vaibhavnayak3416 Main. java:12: error: not a statement
System.out,println("Hello World");
^
Main. java:12: error: ';' expected
System.out,println("Hello World");
^
2 errors
Definitely agree with this lol
"... C++ code that uses this character out bullshit."
This line fucking cracked me up 😂😂😂😂
I'm really enjoying that little bongo bug more than I should
Studying for my last C++ test for the semester rn lol 😅
The classic "you need x amount of years even though it's only been out for y years"
Your video editing skills and your dry delivery are hilarious. I laughed at loud multiple times
I love the reoccurring Moth Bongo bit
I think it's a good idea to create a language that is more modern than C++, but that can also work well with it. C++ is my go to language for many projects I like working on, but I am totally down for learning one that's similar but more modern.
I just have to learn it now, so when it actually released i will confidently say in my CV that i've been doing this language fo years
You're better off learning typescript 😝
منطقیه سید
Why do so many modern languages hate standard c++ like syntax? var s: auto = "hi mom"; -----> auto s = "hi mom"; its so much prettier
I love that bug playing music in your videos.
Hooray, yet another language to write hello world in and add to my resume!
You can become a c++ expert in way less than 10 years- I did it in the early 2010s.
For c++, a worthy successor needs to follow the path of Python 3 vs. Python 2. One big issue I have with these potential c++ successors is that they always want to f-k with the core C syntax by importing bad ideas from newer languages that aren’t really new- meaningful whitespace, less readable variable declarations, removing “unnecessary” punctuation, etc. A worthy successor to C++ would be more like an extreme case of Python 3 vs. Python 2- an updated version of the language that dumps all the cruft necessary for backwards compatibility (I.e a rewritten STL), rearchitects and better integrates all the features that have accumulated over the decades, and adds support for a bunch of new ones. For example, almost everyone uses good old printf() - and soon std print- in C++ too; those “stream” things were a largely failed experiment that a c++2 should drop.
Exactly. Why do they always have to go screwing around with the basics that everybody seems to like? Why can't they just do a "Clean Up" of C++, and say "Screw backwards compatibility, we're just gonna take C++, and make it how everybody wishes it could be if it weren't for backwards compatibility"?
I'm really enjoying the bug bongo bit in these past videos :D
The bongo bug kills me every time man
Kotlin will never kill Java. Sorry mate! I’ve been in the corporate world developing applications in Java and most other guys haven’t heard of Kotlin. It’s only going to be a niche language like other JVM languages.
Well your work environment is pretty shitty then
@@onemonsterceo Came to say this, LOL
I do think it’s going to replace java with mobile apps but yeah I don’t see it completely killing Java
kotlin is widely used in the mc community nowdays
Kotlin will replace Java. "Embrace and extend" (or simplify as it may be). It's only momentum that keeps Java around.
Well... Not sure that it'll be a "killer" of C++, probably more like alternative with convenience of using C++ libraries. It's hard to kill a pillar on which everything is standing right now (I'm talking about C as well)
As soon as i read about it I knew to come here for you to make sense of it.
Dont think C++ will be replaced any time soon, if ever. I mean there are still new versions of FORTRAN being developed.
And yes, you can run a 50+ year old lang in the cloud now.