Carbon Lang… The C++ killer?

Поделиться
HTML-код
  • Опубликовано: 28 дек 2024

Комментарии • 2 тыс.

  • @kellybmackenzie
    @kellybmackenzie 2 года назад +4152

    "Employers are already looking to hire Carbon developers, you just need to have 10 years of Carbon experience to apply." TOO REAL

    • @younickbongo7870
      @younickbongo7870 2 года назад +1

      It's called marketing. They post fake jobs in freelancing sites. Go search for flutter jobs you will understand.

    • @thorelind
      @thorelind 2 года назад +317

      For a junior position too 😳

    • @pranav9068
      @pranav9068 2 года назад +332

      Don't forget "C++ experience doesn't count"

    • @blastermanr6359
      @blastermanr6359 2 года назад +213

      "Why arn't we getting any applicants?"

    • @juliogarciamartinez9501
      @juliogarciamartinez9501 2 года назад +98

      For slightly above minimum wage. They are junior devs, after all

  • @ircmullaney
    @ircmullaney 2 года назад +7395

    "Now, I've only been coding for about 12 years, which isn't nearly enough time to learn C++..." 😂

    • @xXJM01Xx
      @xXJM01Xx 2 года назад +150

      I literally laughed out loud with that on HAHA

    • @IvanRandomDude
      @IvanRandomDude 2 года назад +90

      Enough time to learn 100 FE frameworks

    • @joshuaunderwood7
      @joshuaunderwood7 2 года назад +316

      24 of C++, I had to look up std::span today.

    • @Maniacsurvivor
      @Maniacsurvivor 2 года назад +98

      Dude, first I laughed. Then I cried 😄

    • @kebien6020
      @kebien6020 2 года назад +76

      @@joshuaunderwood7 to be fair std::span is a new feature in C++20

  • @codemastercpp
    @codemastercpp 2 года назад +2119

    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.

    • @nikoladd
      @nikoladd 2 года назад +70

      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.

    • @codemastercpp
      @codemastercpp 2 года назад +107

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

    • @w花b
      @w花b 2 года назад +51

      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.

    • @Cergorach
      @Cergorach 2 года назад +27

      "without sacrificing something"
      Mostly their maintainers sanity... ;-)

    • @nikoladd
      @nikoladd 2 года назад +39

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

  • @renatosardinhalopes6073
    @renatosardinhalopes6073 2 года назад +649

    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"

    • @FraggleH
      @FraggleH 2 года назад +66

      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?

    • @revenger211
      @revenger211 2 года назад +28

      @@FraggleH idk but I'm sure that this happened, those hiring hags would def do that

    • @3rdman99
      @3rdman99 2 года назад +27

      And if you just started programming, you can say "I've been coding in Carbon in my whole career".

    • @SuperQuwertz
      @SuperQuwertz 2 года назад +37

      @@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

    • @genesisjax4023
      @genesisjax4023 2 года назад +32

      @@FraggleH It was FastAPI, Sebastián Ramírez was the creator

  • @charbelboughazale3994
    @charbelboughazale3994 2 года назад +784

    His ending touch with that 10 years experience is just PERFECT

    • @dynatle5450
      @dynatle5450 2 года назад +87

      and its for a junior dev position 🤦‍♂️

    • @gfrewqpoiu
      @gfrewqpoiu 2 года назад +71

      I always thought that "must have 5 years of experience in [BRAND NEW TECH]" is a meme. Guess I was wrong.

    • @seanvogel8067
      @seanvogel8067 2 года назад +9

      @@gfrewqpoiu, it *is* a meme … Why do you think you were wrong?

    • @vimandmanyothers554
      @vimandmanyothers554 2 года назад +32

      @@seanvogel8067 You’d be surprised what you find on LinkedIn when recruiters with no CS background post job listings

    • @aikslf
      @aikslf 2 года назад +29

      @@gfrewqpoiu I wish it was just a meme

  • @SilentAsShadow
    @SilentAsShadow 2 года назад +1332

    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.

    • @Yassir.A.P.
      @Yassir.A.P. 2 года назад +22

      Woah, you don't learn every new stack released? That's a huge sin.

    • @bensolo2644
      @bensolo2644 2 года назад +2

      @@Yassir.A.P. hahahahah 😂

    • @ko-Daegu
      @ko-Daegu 2 года назад

      @@Yassir.A.P. at least know it exists

    • @ko-Daegu
      @ko-Daegu 2 года назад +1

      I would love a news report in how he col info and makes those reports

  • @ccgarciab
    @ccgarciab 2 года назад +996

    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.

    • @trofchik9488
      @trofchik9488 2 года назад

      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: ruclips.net/video/SCj2J3HcEfc/видео.html

    • @anonymologist7946
      @anonymologist7946 2 года назад +62

      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.

    • @GTGTRIK
      @GTGTRIK 2 года назад +128

      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

    • @hilmyakatsuki1665
      @hilmyakatsuki1665 2 года назад +5

      Servo is like dead project already.

    • @abdelrahmankhalil
      @abdelrahmankhalil 2 года назад +32

      @@hilmyakatsuki1665 They integrated it in Firefox

  • @ThiagoTAV
    @ThiagoTAV 2 года назад +182

    That job posting was too funny man, thank you for this code report, amazing work as always.

    • @lubricustheslippery5028
      @lubricustheslippery5028 2 года назад +12

      I can draw in Photoshop. Should I apply?

    • @modz7675
      @modz7675 2 года назад +10

      @@lubricustheslippery5028 no, you need 3 years experience in paint

  • @Vizimech
    @Vizimech 2 года назад +44

    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.

    • @rameynoodles152
      @rameynoodles152 2 года назад +18

      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?

    • @zeejay-junejo
      @zeejay-junejo 2 года назад +5

      You will accept it anyways cuz cmon brrrrooo, guouugle brooo, totally pounds c++ broooooo.

    • @monsieurouxx
      @monsieurouxx 2 года назад +1

      Same vibe. Everything feels backwards.

    • @vladimirarnost8020
      @vladimirarnost8020 2 года назад +3

      @@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);

    • @koodikoodi1040
      @koodikoodi1040 2 года назад +4

      I am with you. I prefer C++ syntax over Typescript syntax.

  • @akj7
    @akj7 2 года назад +103

    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.

    • @fazebook7897
      @fazebook7897 2 года назад +1

      that's legacy code. They'll support that tech for so long.

    • @_slier
      @_slier 2 года назад +2

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

    • @akj7
      @akj7 2 года назад +27

      @@_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.

    • @Merthalophor
      @Merthalophor 2 года назад +10

      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.

    • @prydzen
      @prydzen 2 года назад

      @@_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.

  • @DF-ss5ep
    @DF-ss5ep 2 года назад +575

    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

    • @samsungsarsamsungsar7792
      @samsungsarsamsungsar7792 2 года назад

      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

    • @Iverass
      @Iverass 2 года назад +20

      I don't understand what you mean by "C++'s shortcomings"... Step 1. Know what you're doing. Step 2. Code c++

    • @rapidreaders7741
      @rapidreaders7741 2 года назад +27

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

    • @_orangutan
      @_orangutan 2 года назад +42

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

    • @DF-ss5ep
      @DF-ss5ep 2 года назад +2

      ​@@_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.

  • @jorgefnx
    @jorgefnx 2 года назад +8

    I wake up every morning longing for another Code Report.

  • @Omar-fn2im
    @Omar-fn2im 2 года назад +383

    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

    • @ubayabdelgadir4165
      @ubayabdelgadir4165 2 года назад +25

      He was just joking, I think

    • @CoderGautam
      @CoderGautam 2 года назад +17

      more clicks

    • @Omar-fn2im
      @Omar-fn2im 2 года назад +27

      @@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

    • @conradmbugua9098
      @conradmbugua9098 2 года назад +8

      Assembly, cobol, pascal

    • @purplevincent4454
      @purplevincent4454 2 года назад +20

      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.

  • @idegteke
    @idegteke Год назад +6

    I started coding in ’82 - the problem that I stopped coding in ’90. I promise I will re-start if Carbon comes out.

    • @lillii9119
      @lillii9119 11 месяцев назад +2

      "Back in the days of Assembly we didn't care about simplicity, only performance"

    • @ABQ1247
      @ABQ1247 11 месяцев назад +2

      Damn youre old no offense but thats honestly pretty cool

    • @idegteke
      @idegteke 11 месяцев назад +1

      @@ABQ1247 Exactly, I don’t have that many years left that I could even burn out as a programmer

    • @hydradragonantivirus
      @hydradragonantivirus 11 месяцев назад +1

      Can you write effective antivirus.

    • @idegteke
      @idegteke 11 месяцев назад

      @@hydradragonantivirus As a matter of fact, I will write the “AI” that you will also use in 10 years - I had the “AI Dream” 🐼

  •  2 года назад +73

    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

    • @zetaconvex1987
      @zetaconvex1987 2 года назад +20

      Just what I need: installing yet another build system.

  • @enderspirit5238
    @enderspirit5238 2 года назад +406

    "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 :)

    • @doesdev
      @doesdev 2 года назад +44

      honestly cout is pretty useless for most use cases, c-style printf is way cleaner imo

    • @kevindelnoye9641
      @kevindelnoye9641 2 года назад +9

      Std::print() or fmtlib

    • @ccgarciab
      @ccgarciab 2 года назад +26

      The only thing worse than std::cout is std::cin

    • @teslainvestah5003
      @teslainvestah5003 2 года назад

      @@ccgarciab it's ugly as cin.

    • @gmodrules123456789
      @gmodrules123456789 2 года назад +5

      Operator overloading is such a meme

  • @jishanshaikh4
    @jishanshaikh4 2 года назад +321

    Welcome to the long list of C++ killers... Rust, Go, and uh Carbon?

    • @harshmudhar96
      @harshmudhar96 2 года назад +20

      C++ :D

    • @DailyDoseOfCCP
      @DailyDoseOfCCP 2 года назад +29

      I think Go is C killer, not C++

    • @adamhenriksson6007
      @adamhenriksson6007 2 года назад +20

      Rust, Odin and Zig are the best candidates IMO. Zig is getting really big really fast.

    • @nanotichorizon9644
      @nanotichorizon9644 2 года назад +47

      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.

    • @COLAMAroro
      @COLAMAroro 2 года назад +13

      Well, dont forget D, Zig, V, Jai...

  • @LordHonkInc
    @LordHonkInc 2 года назад +253

    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.

    • @talkysassis
      @talkysassis 2 года назад +21

      It can be, as google can just say: "You WILL use it on Chrome. Like it or not"

    • @arsnakehert
      @arsnakehert 2 года назад +7

      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

    • @PossumMedic
      @PossumMedic 2 года назад +1

      There is no spoon 😂

    • @TheWayISeeTech
      @TheWayISeeTech 2 года назад +15

      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.

    • @scottydog9997
      @scottydog9997 2 года назад +2

      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.

  • @avastorneretal
    @avastorneretal 2 года назад +48

    50 years later
    Now this "C++ Killer" will finally replace it, with even more terrible syntax and centralised package manager!

  • @anthonyglaser929
    @anthonyglaser929 2 года назад +64

    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.

  • @HenryNewcomer
    @HenryNewcomer 2 года назад +63

    I’m always so nervous to invest time with Google projects. They have a tendency to abruptly stop active support…
    What happened to Go?

    • @edwardstables5153
      @edwardstables5153 2 года назад +27

      go is still going strong. Anyway this isn't a google project per se, it's just been launched by google engineers.

    • @malma28
      @malma28 2 года назад +12

      Go still active and today much project written in Go.

    • @GoldenBeholden
      @GoldenBeholden 2 года назад +20

      Google has a better track record with developer-oriented products. As far as I know, Angular is still going strong despite its dwindling popularity.

    • @AbhinavKulshreshtha
      @AbhinavKulshreshtha 2 года назад +2

      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.

    • @kjc420
      @kjc420 2 года назад

      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.

  • @abcq1
    @abcq1 2 года назад +68

    Better naming alternative would have been C-+, C+-,C+++ or C*/--+.

  • @filipstudeny
    @filipstudeny 2 года назад +25

    Soon on every job listing:
    Carbon - 10 years of experience required

    • @Linkario86
      @Linkario86 2 года назад +3

      And then they cry out "We can't find any new hires!"

  • @be12
    @be12 2 года назад +8

    "10 years of experience" has become an ascended meme

  • @oggy112
    @oggy112 2 года назад +65

    I wouldn't think Kotlin replaced Java. Java is still going strong.

    • @Chinez
      @Chinez 2 года назад +1

      Right, but Kotlin more flexible.

    • @Frewition
      @Frewition 2 года назад +8

      Yeah, in the third world

    • @razamirza8675
      @razamirza8675 2 года назад +16

      Kotlin replaced Java in Android development and it was made to do that.

    • @vh5360
      @vh5360 2 года назад

      @@Frewition how many dev's uses kotlin for backend?

    • @chrimony
      @chrimony 2 года назад +13

      So is JavaScript. The X is dead meme is nonsense.

  • @tapu_
    @tapu_ 2 года назад +19

    Tech companies love making their own languages

    • @TheJanDahl
      @TheJanDahl 2 года назад

      NIH syndrome.

    • @pladimir_vutin
      @pladimir_vutin 2 года назад +1

      yet they don't hire anyone efficient in Lisp!

  • @etopowertwon
    @etopowertwon 2 года назад +10

    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.

  • @doktoracula7017
    @doktoracula7017 2 года назад +90

    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.

    • @jondoe6608
      @jondoe6608 2 года назад +11

      Dlang also has C++ interop, so that can also be another option for ppl looking to move away from C++

    • @catto-from-heaven
      @catto-from-heaven 2 года назад +1

      Google on its way to create another useless language

    • @wrhall
      @wrhall 2 года назад +8

      I kind of imagine generics are a necessary feature if they wanted to eg write any of their libraries in SuccessorLang

    • @ccgarciab
      @ccgarciab 2 года назад +14

      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.

    • @corster8221
      @corster8221 2 года назад +7

      This is what I was saying, this shit sounds like zig

  • @kyleMcBurnett
    @kyleMcBurnett 2 года назад +1

    I'm an android developer now, but I came from C++. This video 👌 perfect

  • @VictorMainaKinuthia
    @VictorMainaKinuthia 2 года назад +2

    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.

    • @js-ny2ru
      @js-ny2ru 2 года назад

      Yes, especially cutting gaps between sentences... (facepalm)

  • @mpldr_
    @mpldr_ 2 года назад +70

    "Within C++, there is a much smaller and cleaner language struggling to get out"
    Ummm yes… C

    • @jakubsebek
      @jakubsebek 2 года назад +10

      I think bjarne accidentally said something he didn't want to there

    • @MrSamkots
      @MrSamkots 2 года назад +5

      No

    • @Cergorach
      @Cergorach 2 года назад +11

      C++ is what happened to C after it ate too many programmers... ;-)

    • @mateuszbugaj799
      @mateuszbugaj799 2 года назад +2

      No no, C is already out and not struggling at all.

    • @RagHelen
      @RagHelen 2 года назад

      Exactly. If Bjarne had a button to kill all C++ people, he would push it.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 2 года назад +42

    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.

  • @m13b
    @m13b 2 года назад +9

    Bongomoth is my favourite recurring character in the Fireship-verse

    • @eddiesimon326
      @eddiesimon326 2 года назад +1

      Anyone provide the original clip the sounds? I could only find gifs

  • @matthewboyer4212
    @matthewboyer4212 2 года назад +9

    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.

  • @64_Tesseract
    @64_Tesseract 2 года назад +2

    0:43 "Within C++, There is a much smaller and cleaner language struggling to get out"
    So... og C?

  • @iyadelwy1500
    @iyadelwy1500 2 года назад +51

    When it becomes the favorite language on the stack overflow survey, 7 years in a row I might consider trying it out...

    • @askeladden450
      @askeladden450 2 года назад +34

      'most loved languages' aka the languages people don't use at work

    • @Quick-Flash
      @Quick-Flash 2 года назад +8

      @@askeladden450 I use the most loved language at work, and boy do I love it more than c++ or c.

    • @nikoladd
      @nikoladd 2 года назад +5

      That was a rusty roast indeed.

    • @Arkevorkhat
      @Arkevorkhat 2 года назад +13

      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.

    • @lennymclennington
      @lennymclennington 2 года назад +7

      @@Arkevorkhat facts

  • @DuffkaBigNerd
    @DuffkaBigNerd 2 года назад +54

    "I've been programming for 12 years so I'm not ready for C++"
    Me who learned C++ as my first language: 🗿

    • @67hutch
      @67hutch 2 года назад +4

      Respect

    • @skorpionmk9390
      @skorpionmk9390 2 года назад +5

      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

    • @DuffkaBigNerd
      @DuffkaBigNerd 2 года назад +1

      Yeah that sucks

    • @ohwow2074
      @ohwow2074 2 года назад +6

      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.

    • @DuffkaBigNerd
      @DuffkaBigNerd 2 года назад +2

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

  • @freemansfreedom8595
    @freemansfreedom8595 2 года назад +33

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

    • @Rugg-qk4pl
      @Rugg-qk4pl 2 года назад +4

      I would kinda assume it's fully open source (I haven't checked tho)

    • @_a_x_s_
      @_a_x_s_ 2 года назад +2

      @@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”.

    • @freemansfreedom8595
      @freemansfreedom8595 2 года назад +10

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

    • @TheSimoriccITA
      @TheSimoriccITA 2 года назад

      - 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

    • @TheSimoriccITA
      @TheSimoriccITA 2 года назад

      @@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

  • @alexmaksimov5589
    @alexmaksimov5589 2 года назад +74

    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.

    • @bass-tones
      @bass-tones 2 года назад +24

      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.

    • @AttackHelicopter64
      @AttackHelicopter64 2 года назад +44

      @@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

    • @Ruhrpottpatriot
      @Ruhrpottpatriot 2 года назад +21

      It's BS because it totally misuses operator overloading to get the bitshift operator to do I/O

    • @Cergorach
      @Cergorach 2 года назад +4

      @@AttackHelicopter64 As in any business we row with the oars we have, can get, and can afford... Cheap, good, fast. Choose two, get one! ;-)

    • @thomassynths
      @thomassynths 2 года назад +32

      Anyone who tries to sell that `printf("%d%f%u", i, f, u)` is more beginner friendly than `std::cout

  • @robertobokarev439
    @robertobokarev439 2 года назад +9

    C/C++ never dies, we all know this. As Java and JS.

    • @hiltonvarian3352
      @hiltonvarian3352 2 года назад

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

    • @robertobokarev439
      @robertobokarev439 2 года назад

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

  • @arnaldoperez
    @arnaldoperez 2 года назад +85

    Soooo I can't hire a 10+ years experienced Carbon Senior dev, can't I?

    • @theterribleanimator1793
      @theterribleanimator1793 2 года назад +45

      Well, we are all made of carbon, so i got about two decades worth of experience. Am i hireable yet?

    • @reihanboo
      @reihanboo 2 года назад +14

      @@theterribleanimator1793 that's c++ and it doesn't count. sorry you're fired from this interview

    • @theterribleanimator1793
      @theterribleanimator1793 2 года назад +9

      @@reihanboo never been fired from an interview. Might be able to put that on my resume, thanks.

    • @katbryce
      @katbryce 2 года назад +1

      Yes, but it would be Apple's Carbon api for MacOS.

  • @SBroproductions
    @SBroproductions 2 года назад +13

    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.

    • @Henry-fv3bc
      @Henry-fv3bc 2 года назад

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

    • @shanew8448
      @shanew8448 2 года назад +4

      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.

  • @notthedroidsyourelookingfo4026
    @notthedroidsyourelookingfo4026 2 года назад +3

    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 🤔

  • @dnegron8
    @dnegron8 2 года назад

    That job posting at the end was ::chefs kiss::! Great job

  • @thecodfather7109
    @thecodfather7109 2 года назад +1

    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 😂

  • @arsnakehert
    @arsnakehert 2 года назад +5

    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

    • @LegendLength
      @LegendLength 2 года назад +3

      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.

    • @proloycodes
      @proloycodes 2 года назад +2

      because human readability

    • @OnFireByte
      @OnFireByte 2 года назад +1

      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

    • @iuploadthereforeiam3606
      @iuploadthereforeiam3606 2 года назад +2

      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.

    • @IamusTheFox
      @IamusTheFox 2 года назад

      @@iuploadthereforeiam3606 I'd have to double check, but I don't think you can have function declarations in function bodies in C.
      Well said!.

  • @tecnotrecos1680
    @tecnotrecos1680 2 года назад +4

    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

    • @Futureblur
      @Futureblur 2 года назад

      One could even call it Colang 🤪

  • @nanotichorizon9644
    @nanotichorizon9644 2 года назад +12

    Literally did a review on carbon the other day! Love the video as usual my man! Expert tier explanations.

    • @chadsworthgigafuck7076
      @chadsworthgigafuck7076 2 года назад +1

      Where?

    • @nanotichorizon9644
      @nanotichorizon9644 2 года назад +1

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

    • @araqweyr
      @araqweyr 2 года назад +1

      I'll wait here too

  • @mileslemon
    @mileslemon 2 года назад

    never stop dropping the bongo moth, it genuinely makes me happy and brightens my day

  • @Dango428
    @Dango428 2 года назад +1

    Lmaooo the '10 years of Carbon experience' at the end was perfect

  • @FreehuntX93
    @FreehuntX93 2 года назад +42

    TypeScript killed JavaScript is like saying C++ killed ASM.

    • @reihanboo
      @reihanboo 2 года назад +10

      except learning asm actually has some value

    • @ex1tium
      @ex1tium 2 года назад +6

      I wouldn't write vanilla Javascript even if my life depended on it.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 2 года назад +4

      JavaScript is the only language you can use for interactive web pages without having to load an entire bunch of framework packages.

  • @OwO-.
    @OwO-. 2 года назад +57

    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

    • @m.sierra5258
      @m.sierra5258 2 года назад +6

      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)

    • @IamusTheFox
      @IamusTheFox 2 года назад +3

      @@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++.

    • @IamusTheFox
      @IamusTheFox 2 года назад

      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.

  • @neintonine
    @neintonine 2 года назад +6

    "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++)

    • @rreece90
      @rreece90 2 года назад +1

      8 is a good guess, lol

  • @parahumanoid
    @parahumanoid 2 года назад

    That photo with the circular saw totally threw me off the subject! Great one.

  • @denissmith8282
    @denissmith8282 2 года назад +1

    Been coding C++ since 1990th, and still haven't lost hope to learn it

  • @coolbrotherf127
    @coolbrotherf127 2 года назад +9

    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.

  • @Julio.Berina
    @Julio.Berina 2 года назад +5

    I'm waiting on Carbon's package manager Dioxide to come out and then I'll take a look at it

  • @impolitedirector3595
    @impolitedirector3595 2 года назад +5

    3:16 knowledge of photoshop strongly preferred 💀

  • @RsZ789
    @RsZ789 2 года назад

    Your video editing skills and your dry delivery are hilarious. I laughed at loud multiple times

  • @ChristopherJohnsons
    @ChristopherJohnsons Год назад +1

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

  • @sciemk8723
    @sciemk8723 2 года назад +18

    Java is always the language that you can love or hate or love to hate. I personally love it. People complain about: public static void main(String[] args) , but guess what... I wrote that once 10 years ago😄

    • @chrono0097
      @chrono0097 2 года назад +4

      I just have one small problem with Java: no unsigned integer types, moved to C# and never looked back

    • @EightSQ
      @EightSQ 2 года назад

      You forgot void.

    • @sciemk8723
      @sciemk8723 2 года назад +1

      @@chrono0097 there are ways to get unsigned int in Java , but it's true it's not a standard primitive type.

    • @sciemk8723
      @sciemk8723 2 года назад

      @@EightSQ yeah I did 🤣, probably I got used too much to an IDE writing everything for me . And that is one thing i like about forcing return type on methods, it makes the developer think and know if this method is returning something or maybe just mutating state, etc.

    • @Amejonah
      @Amejonah 2 года назад +1

      @@chrono0097 you didn't see Kotlin coming with UInt

  • @illegalsmirf
    @illegalsmirf 2 года назад +41

    Just what the world needs - another programming language.

  • @martijnp
    @martijnp 2 года назад +5

    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

    • @ВладиславКороль-ш2в
      @ВладиславКороль-ш2в Год назад

      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.

  • @WesleyRogers09
    @WesleyRogers09 2 года назад

    I'm really enjoying the bug bongo bit in these past videos :D

  • @HeyItsSahilSoni
    @HeyItsSahilSoni 2 года назад +1

    Honestly, if nothing else, that bug playing bongo always puts a smile on my face 😂

  • @ComputingGizmo
    @ComputingGizmo 2 года назад +78

    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.

    • @onemonsterceo
      @onemonsterceo 2 года назад +2

      Well your work environment is pretty shitty then

    • @lasfito
      @lasfito 2 года назад +4

      @@onemonsterceo Came to say this, LOL

    • @feritperliare2890
      @feritperliare2890 2 года назад +12

      I do think it’s going to replace java with mobile apps but yeah I don’t see it completely killing Java

    • @trickeddev
      @trickeddev 2 года назад +6

      kotlin is widely used in the mc community nowdays

    • @familyshare3724
      @familyshare3724 2 года назад +11

      Kotlin will replace Java. "Embrace and extend" (or simplify as it may be). It's only momentum that keeps Java around.

  • @truthmatters7573
    @truthmatters7573 2 года назад +4

    Google should try adopting / supporting Nim instead. Modern language with great C/C++ interop

  • @farhansangaji5029
    @farhansangaji5029 2 года назад +14

    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

  • @oneRyanJoseph
    @oneRyanJoseph 2 года назад +1

    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!

  • @Quick-Flash
    @Quick-Flash 2 года назад +2

    Doing some reading they seem to just say use rust unless your stuck in a large mainly c++ project.

    • @finnmonstar
      @finnmonstar 2 года назад

      Yeah, they are really right.

  • @jayandjeff5749
    @jayandjeff5749 2 года назад +11

    Hooray, yet another language to write hello world in and add to my resume!

  • @informatik01
    @informatik01 2 года назад +18

    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.

    • @pharoah327
      @pharoah327 2 года назад +1

      Agree completely.

    • @g1gabyt3
      @g1gabyt3 2 года назад +6

      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

    • @aleksanderjohansen2008
      @aleksanderjohansen2008 2 года назад

      I assume he ment that as a joke

  • @joshuaunderwood7
    @joshuaunderwood7 2 года назад +8

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

    • @adamkostrzewski4982
      @adamkostrzewski4982 2 года назад +5

      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

    • @pladimir_vutin
      @pladimir_vutin 2 года назад

      I don't wanna judge, but it sounds like you're telling it to yourself so that you initially believe the lie!

    • @gianni50725
      @gianni50725 2 года назад

      @@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

    • @xynyde0
      @xynyde0 2 года назад

      lol

  • @anusiem7708
    @anusiem7708 2 года назад

    As soon as i read about it I knew to come here for you to make sense of it.

  • @DreanPetruza
    @DreanPetruza Год назад +1

    I'm baffled how people always cite "std::cout

    • @RevolutionaryUsername
      @RevolutionaryUsername Год назад

      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.

  • @matterb6049
    @matterb6049 2 года назад +3

    Modern languages can never kill the older languages, assembly is still extremely useful as is c, java, and I hate to say it but even c++, most modern languages are more like big wrapers to make certain programes faster and easier to write, don't pick one language lean as many as you can there's knowledge in them all, especially the older languages they will give you the bigger picture and alow you to lean other languages faster it's all the same under the hood

  • @benjaminshinar9509
    @benjaminshinar9509 2 года назад +7

    can you (or anyone) expand on the difference between templates, generics (and c++20 concepts)?

    • @aldrinmathew
      @aldrinmathew 2 года назад +3

      I looked into this as part of creating my programming language - qat. Templates are for compile time, Generics are for runtime. Templates limits the different variations of functions and types to those you specify in your codebase. Generics makes it possible to spawn new variations of the functions and types during runtime. Templates are static, Generics are dynamic.
      Concepts in C++20 are used to specialise template type arguments. In simpler words, you can tell the compiler that a template type should have certain characteristics. A minor variation of this is already present in slightly different forms in languages like Rust and Dart.

    • @chris-pee
      @chris-pee 2 года назад +1

      @@aldrinmathew Generics in Java and c# are compile-time only. Method versions for specific types are generated when you compile, based on which types you actually use.

    • @Jay_Verma
      @Jay_Verma 2 года назад +1

      Go to stack overflow, they love to really expand on that

    • @benjaminshinar9509
      @benjaminshinar9509 2 года назад

      @@aldrinmathew
      I'm trying to understand why the video says that generics are "better".
      Is it just because of code bloat issues? Or because the error message for templates are long?
      I've worked with both, and I agree that c# generics are easier to write, but I felt much more power with cpp templates.

    • @aldrinmathew
      @aldrinmathew 2 года назад

      @@chris-pee Then those are not generics. Those are templates. Those are just called Generics

  • @zachpsyrax5013
    @zachpsyrax5013 2 года назад +4

    I feel like C++ is kind of like WoW back then lol
    "Oh, this is gonna be the WoW killer"
    "okay...maybe THIS will be the WoW killer!"
    "no, no... THIS ONE will actually be the WoW killer!"
    sure, C++ has its faults but it's still a good language. I actually use C more often than C++ but I can still appreciate C++ for what it is. I don't really care for the trendy new languages that try to solve problems I don't have.

  • @burlingk
    @burlingk 2 года назад

    I like how you are able to make every line a joke and still get all the information into the video. :)

  • @marlenebarrazuetaleon5825
    @marlenebarrazuetaleon5825 2 года назад

    don't even care if you add ads to the download you're just such a goat ❤️ ❤️ ❤️

  • @mohammadbasyouni7171
    @mohammadbasyouni7171 2 года назад +5

    Carbon has a bad syntax choices in my opinion, but it looks promising for future

  • @DailyDoseOfCCP
    @DailyDoseOfCCP 2 года назад +25

    I feel sad that Google is not *Carbon* neutral anymore

  • @ilyasb4792
    @ilyasb4792 2 года назад +3

    Rust is a C remplacement, it doesn't care about C++ most of the time, though it can interop with C++ as well because it's important, the C++ interop is not as clean since Rust doesn't support inheritance (by design) and C++ end up being just a blop of data that you need to control.

  • @user-cc8kb
    @user-cc8kb 2 года назад

    I love your videos. I hope you will never stop! :)

  • @schtaan2
    @schtaan2 2 года назад +1

    10 REM Print "Hello World" until the power goes...
    20 Print "Hello world"
    30 goto 20

  • @floppa9415
    @floppa9415 2 года назад +85

    So basically what Kotlin is for Java but for C++.

    • @jakelexington7610
      @jakelexington7610 2 года назад +2

      Except Vale already does that but without "le google"

    • @the_kovic
      @the_kovic 2 года назад +10

      @@jakelexington7610 And that's why nobody is using it!

    • @erickmoya1401
      @erickmoya1401 2 года назад +2

      Is what they said, but could be the Scala of Java, which is a failed attempt

    • @Amejonah
      @Amejonah 2 года назад

      The Readme says exactly that.

    • @miloszivkovic6256
      @miloszivkovic6256 2 года назад +10

      @@erickmoya1401 To be honest Scala was more about functional programming that replacing Java

  • @stevemcwin
    @stevemcwin 2 года назад +11

    Hey Jeff, could you do a video on the Nim programming language please?

    • @victorpinasarnault9135
      @victorpinasarnault9135 2 года назад +1

      I want that too

    • @victorpinasarnault9135
      @victorpinasarnault9135 2 года назад +6

      Nim, Zig, D, Vala and Ada (comment above).

    • @isofruitfruit9357
      @isofruitfruit9357 2 года назад +1

      Nim would be pretty cool to see. Its macro capabilities are kinda wild, as is the fact how easy it is to pick up compared to other languages in the league.

    • @astroid-ws4py
      @astroid-ws4py 2 года назад

      @@victorpinasarnault9135 And Crystal

  • @199t8
    @199t8 2 года назад +5

    What you describe at 2:34 is actually far worse. Those two lines of code are undefined behavior, meaning that just because they exist in a program, it would be perfectly compliant for the program to do anything (such as crashing in a separate area, deleting files, or bricking the machine).

    • @intel_v
      @intel_v 2 года назад +1

      Bruh that's not how it works. You can't delete System32, brick the machine, etc. JUST by printing an uninitialized variable. From what I know, there's nothing wrong with reading a value at a random address (as long as your program is allowed to access it). The danger develops if the address contains a function pointer and you accidentally call it, potentially calling a malicious function, and that is IF the value at that address is a pointer anyway. Also considering that you stored the value in a uintptr_t or a data type capable of storing addresses.

    • @not_ever
      @not_ever 2 года назад

      Or you could make the world explode and kill us all

  • @IwinMahWay
    @IwinMahWay 2 года назад

    First vid i saw of yours, subbed immediately

  • @D.E._Sarcarean
    @D.E._Sarcarean 2 года назад +1

    I see all of the recent job posts now require 4 years of Carbon experience.

  • @WaBC9IPa
    @WaBC9IPa 2 года назад +3

    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)

  • @rickyspanish24
    @rickyspanish24 2 года назад +4

    “You just need 10+ years of experience with Carbon to apply” is so accurate. 😂😂 What will the HR people from companies think of next? 😭😭😭

  • @Myvoetisseer
    @Myvoetisseer 2 года назад +5

    All I want is a language which makes multithreaded code seamless. All computers have multiple cores, though very little code takes advantage of that. The reason is that it's rarely worth it to spend the extra effort optimising code unless the application is very performance sensitive. The solution is a language which makes writing multithreaded code about the same effort to write as single threaded. The only example I know of is C# with the parallel for loop, which is amazing.

    • @delbato9683
      @delbato9683 2 года назад +1

      Well, kind of hard to make sequential and parallel code feel the same way when written. Though i feel as if rust does a good job, with stuff like the async ecosystem and rayon.

    • @SianaGearz
      @SianaGearz 2 года назад +1

      Seamless? I'll take safe as a first step, and an abstraction which allows for software architecture which works well with the hardware at hand and gives you an adequate amount of control.
      To consider that you want something to be seamless which is fundamentally not, there is a seam, it's baked right into the hardware, due to the cache coherence problem and aliasing. So it's easy to come up with code that is much slower multithreaded than single threaded even when correct.
      As to parallel For? Basically an OpenMP primitive.

    • @TauCu
      @TauCu 2 года назад

      If your job is so slow you need multiple cores to execute it: it is worth optimizing it.

    • @nissimhadar
      @nissimhadar 2 года назад

      @@TauCu You are joking, right?

    • @TauCu
      @TauCu 2 года назад

      @@nissimhadar No.

  • @Moneymantra693
    @Moneymantra693 Год назад

    1:05 when he said painful he really meant for it

  • @jacksonnadar7223
    @jacksonnadar7223 2 года назад

    I love that bug playing music in your videos.

  • @tusharverma4202
    @tusharverma4202 2 года назад +4

    Why they've used capital P and M in print and main .. is there any advantage of it?

  • @mixedbytc
    @mixedbytc 2 года назад +7

    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.

    • @iuploadthereforeiam3606
      @iuploadthereforeiam3606 2 года назад

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

  • @PrintNerdyForMe
    @PrintNerdyForMe 2 года назад +5

    So if we write AI with it, are we creating carbon-based life forms? ;-)

  • @sudokode
    @sudokode 2 года назад +1

    2:09 how is that crap a big improvement over cout? First off, they replaced function return types with a function keyword... Why? Also, it's just "fn" to look even more awkward next to a capitalized Main() function name... Then you have var, something I'm not necessarily against, but it's followed by what looks like a variable name, a colon for some reason, then the keyword auto? And then the classic = for assignment. Then a capitalized Print() function and finally a return 0 to match the "i32" type... I can see why this is the future 😂

    • @lillii9119
      @lillii9119 11 месяцев назад +1

      Just looks like an overcomplicated Python at this point

  • @Nodsaibot
    @Nodsaibot 2 года назад +2

    when google abandons it and leaves it in the project graveyard we can fork it