C++ - the Newest Old Language • Matt Godbolt • GOTO 2018

Ғылым және технология

This presentation was recorded at GOTO Chicago 2018. #gotocon #gotochgo
gotochgo.com
Matt Godbolt - Low-level Latency Geek
ABSTRACT
C++ is an old language only used by the unfortunate few that absolutely have to, right? Wrong!
C++ is not the language it used to be: clunky, error-prone and lacking in tooling. A lot has changed in the last decade: three new language revisions, new compilers and all-new: [...]
Download slides and read the full abstract here:
gotochgo.com/2018/sessions/359
/ gotochgo
/ gotoconference
gotocon.com
#Cpp #Cplusplus #ProgrammingLanguages
Looking for a unique learning experience?
Attend the next GOTO Conference near you! Get your ticket at gotocon.com
SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
kzread.info...

Пікірлер: 141

  • @ryusaki6902
    @ryusaki69025 жыл бұрын

    for a second i thought this video was about the 'goto' keyword in c++

  • @lionkor98

    @lionkor98

    5 жыл бұрын

    dont use goto

  • @ryusaki6902

    @ryusaki6902

    5 жыл бұрын

    ​@@lionkor98 i don't, i swear!

  • @NatureBoyMickFlair

    @NatureBoyMickFlair

    5 жыл бұрын

    ThenxD9 ISTFG 😂🤝

  • @victorarnault

    @victorarnault

    4 жыл бұрын

    The C++ eliminates the 'goto' command from Fortran.

  • @muhammedyasinhanyasar539

    @muhammedyasinhanyasar539

    3 жыл бұрын

    @@lionkor98 I don't use it, but I just guess(not sure): "goto" is really close to the assembly. It is just JMP to an address.

  • @davidlanda2324
    @davidlanda23242 жыл бұрын

    Great talk: straight, simple, informative.

  • @gyd67ckn
    @gyd67ckn6 жыл бұрын

    Awesome talk. Good summary of all the features.

  • @casperes0912
    @casperes09125 жыл бұрын

    Unix pipes is a forgotten thing? I use them all the time too!

  • @technologicalwaste7612
    @technologicalwaste76124 жыл бұрын

    Most people who have problems with C++ seem to me to be people who do not enjoy programming.

  • @LaurentLaborde

    @LaurentLaborde

    3 жыл бұрын

    i strongly disagree. there are languages, imho, much more fun to use :)

  • @technologicalwaste7612

    @technologicalwaste7612

    3 жыл бұрын

    @@LaurentLaborde Any suggestions come to mind?

  • @LaurentLaborde

    @LaurentLaborde

    3 жыл бұрын

    @@technologicalwaste7612 I'm absolutely enjoying programming, wrote my first code around 1984 (it doesn't mean i'm right or better, i'm not a professional programmer actually, i'm a system/database administrator). I love many language, mostly C# and Fortran (and ASM...). Thing is... C++ is too complex. I can barely scratch the surface. Hard to use, hard to understand how things really works, hard to debug. There wasn't a single moment in my life where i enjoyed reading or writing C++. Whenever i try, and i'm actively trying, i'm like... why ? what is this syntax ? what's the implication of doing it this way or that way ? why is this a struct and not a class ? who's the sociopath that decided to overload this operator in that particular way ? I don't hate it, i just don't get it.

  • @LaurentLaborde

    @LaurentLaborde

    3 жыл бұрын

    i do love watching cppcon however. i'm learning a lot and it help me in my dark hobby of reverse engineering :)

  • @BlastinRope

    @BlastinRope

    3 жыл бұрын

    @@technologicalwaste7612 python - its like pseudocode that you can run

  • @LaurentLaborde
    @LaurentLaborde3 жыл бұрын

    so... who thought that it was their own laptop going into sleep mode ?

  • @yan-amar
    @yan-amar5 жыл бұрын

    It's a nice talk and all, but as a C++ enthousiast at a point I felt embarrassed for him presenting all those features in front of a crowd using languages in which they probably existed for a long time ^^

  • @franciscogerardohernandezr4788

    @franciscogerardohernandezr4788

    4 жыл бұрын

    If they were there, it means they were interested in getting C++ gospel.

  • @truthadjustr
    @truthadjustr6 жыл бұрын

    finalize() has been deprecated in Java just recently

  • @DimageSapelkin
    @DimageSapelkin5 жыл бұрын

    Tried looking up algebraic types in c++. Didn't find much

  • @kuhluhOG

    @kuhluhOG

    4 жыл бұрын

    What types didn't you find? for a list, you can use vectors for example in case of trees, well, they couldn't really agree on an implementation of it to satisfy everyone, but it shouldn't be too hard to implement your own

  • @psdmaniac
    @psdmaniac5 жыл бұрын

    For me the biggest issue od c++ are includes (preprocesor if directive to check if file were already includes)and how namespaces works (sometimes so much code to write in one line)Packages would be nice!

  • @wildbartty8134

    @wildbartty8134

    5 жыл бұрын

    For your first issue you can put #pragma once At the top of the header file. While it isn't 100% portable all the major and most minor compilers support this functionality.

  • @sigurdhermann781

    @sigurdhermann781

    5 жыл бұрын

    @@wildbartty8134 #pragma once is non-std though so.... yeah...

  • @Evan490BC

    @Evan490BC

    5 жыл бұрын

    @@wildbartty8134 It only partially solves the problem. We desperately need proper packages/modules in C++ asap. We will probably never have a sophisticated module system like SML's or Ocaml's, but the C preprocessor, while useful, is a relic of the past.

  • @peterkochlarsen2792

    @peterkochlarsen2792

    4 жыл бұрын

    I believe modules will solve that problem for you.

  • @issa2421

    @issa2421

    2 жыл бұрын

    @@sigurdhermann781 you can use include guards

  • @eformance
    @eformance5 жыл бұрын

    Eclipse has a default project builder too, and Eclipse is free.

  • @zspencer7343
    @zspencer73435 жыл бұрын

    I'm still confused about his point of the value type. Why does c++ have the strength of "zero overhead"? Can someone provide examples of other languages that not doing so well? And what is his point of that example of the "quantity, price"? it seems just a human error. What kind of strenth of C++ is shown in this example? Thanks

  • @maksymiliank5135

    @maksymiliank5135

    5 жыл бұрын

    C++ by default copies the variable when you pass it into a function. If it's an object it will create a copy of it. In java when you pass an object it will be the original one and every change you make to that object inside that function call is also going to affect the original one. It doesn't happen in c++ where every change is going to affect the copy and not the original. You can change this behavior using references or pointers. Then it behaves more java-like. It's up to you if you want the value to be copied or use the original. The second point is that you get an error message and you can quickly correct the line that causes it before releasing the app. Sometimes you wouldn't even noticed you did something wrong, because the code simply compiles and you think it's done

  • @hansiraber

    @hansiraber

    4 жыл бұрын

    "zero overhead" means you get to use abstractions in your code, but the runtime cost is as if you didn't use abstractions. one easy example in c++ are classes. take a class containing two floats (4 byte each). in c++ creating such an object requires exactly 8 bytes of memory (same as if you created two local floats) -- hence zero cost. in java creating such an objects costs the 8 bytes plus ~20 extra bytes for reference counting, vtable/runtime reflection and whatnot.

  • @richardcavell
    @richardcavell5 жыл бұрын

    His root mean square code neglects to divide by the number of elements.

  • @edgeeffect
    @edgeeffect2 жыл бұрын

    I've not done any C++ for years and years and years.... And I had long written it off as "rubbish". But some of the stuff in this talk has made me go "hmmmm.... that's NICE!"

  • @2k10clarky

    @2k10clarky

    9 ай бұрын

    I'm messing about with Rust at the moment and I like it after being a high level dev for a long time I think its good to get back a bit closer to what the machine is actually doing

  • @colinmaharaj
    @colinmaharaj4 жыл бұрын

    14:26 the vector::const_iterator .... how can that be better than int? I see no point in not using types if its less coding. It clarifies things for me.

  • @MrTimePardox

    @MrTimePardox

    4 жыл бұрын

    you mean like for(int i = 0; i comparing iterators is equal or faster than computing size(), especially pre-c++11 it now takes about as much typing to write a for-loop with iterators or ints. As for code-clarity, replacing for-loops with std algorithms and range-based for-loops tends to make code easier to read in big projects: github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#p3-express-intent github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Res-for-range kzread.info/dash/bejne/iWaoubGdqsq-eKQ.html

  • @Dziaji

    @Dziaji

    2 жыл бұрын

    You can use auto& with range based for loops. Since c++11 you don’t have to ever type “iterator” or even know that you are using a. Iterator. It happens behind the scenes. for (auto& element : vec) { cout

  • @spinning-around
    @spinning-around5 жыл бұрын

    I like D with concise C syntax

  • @thechosenone729
    @thechosenone7295 жыл бұрын

    Sí plas plas.

  • @abdulalhazred5924

    @abdulalhazred5924

    4 жыл бұрын

    何!

  • @yomismo5711
    @yomismo5711 Жыл бұрын

    Then… should I learn C++ or not? …😞 … i am just a beginner

  • @RifleAutoWin
    @RifleAutoWin4 жыл бұрын

    Why did he say, "never ever ever use doubles for prices" (@ 19:36 mark) ? It's not enough precision? Does he mean you should use long double? Or because you should use value type instead - to avoid problems like mixing price and quantity?

  • @Diannicles

    @Diannicles

    4 жыл бұрын

    I think he means both that you should use a value type instead, and also if you do a bunch of arithmetic with a double, you can get funky rounding problems. Even of the floating point number has enough precision, you can get funny things happen if you use both floating point types and Integer types together in arithmetic.

  • @kuhluhOG

    @kuhluhOG

    4 жыл бұрын

    just calculate things with Cents (or whatever the smallest unit is) instead

  • @philmarsh3859
    @philmarsh38594 жыл бұрын

    Qt makes C++ the goto for desktop apps. Newer languages like Rust and GoLang don't have a native GUI API. Perhaps Kotlin with JavaFX or TornadoFX could complete, but I suspect that for compute-intensive tasks, Kotlin would be prone to stuttering GUIs unless the developer was very careful - due to garbage collection.

  • @lebenasa
    @lebenasa5 жыл бұрын

    Features in c++20 should have been standardized in c++17, too much loss on opportunity cost.

  • @anant6778

    @anant6778

    3 жыл бұрын

    C : You guys are getting feature updates????

  • @ruadeil_zabelin

    @ruadeil_zabelin

    3 жыл бұрын

    I'm happy they're in 20 now. I'd rather have a language feature that is really well thought out, than one that still has some issues. If you look at the details, the C++11 spec had "bugs". This is why you see a lot of stuff that was added in 11, but removed or changed in 17. I'm glad they take their time to try and do things right. This is also why contracts was removed from c++20 at the last minute, because the spec still had some issues.

  • @motbus3
    @motbus34 жыл бұрын

    Very nice talk. C++ is like that exotic girl from high school. You liked her and you could stay with it, but as you grown older the problems she brings starts to bothering you because you don't have time to read a 10 page letter because she is upset with you because of some simple that could be resolved much earlier and then you have to arrange your agenda in other for her to be ok with it. Now c++20 is that woman as a mature woman who learned that some complications aren't necessary, but stills complains when you do something better because the books should be in the upper drawer instead of the bottom drawer.

  • @philmarsh7723
    @philmarsh77235 жыл бұрын

    C++ greatest advantage over newer languages is LIBRARY SUPPORT.

  • @Dennis19901

    @Dennis19901

    5 жыл бұрын

    How about some actual performance? lmao

  • @LaurentLaborde

    @LaurentLaborde

    3 жыл бұрын

    a lot of "new" language have tons of library, more than you'll ever need. it depends what you mean by "newest".

  • @moofymoo
    @moofymoo5 жыл бұрын

    there is a woman in audience!!

  • @HermanWillems

    @HermanWillems

    5 жыл бұрын

    Jacket still on inside, dark hair = asian. lol

  • @spinning-around

    @spinning-around

    5 жыл бұрын

    Code red

  • @Evan490BC

    @Evan490BC

    5 жыл бұрын

    Oh my god! How did this happen?

  • @BryonLape
    @BryonLape3 жыл бұрын

    Goto considered harmful. Presentation fails to load.

  • @LiveseyMD
    @LiveseyMD6 жыл бұрын

    Please remove the implicit casting of floating point values to bool. It's pointless.

  • @pmcgee003

    @pmcgee003

    6 жыл бұрын

    *ba-doom tish*

  • @prezadent1

    @prezadent1

    6 жыл бұрын

    Why are you wasting time watching this video if you are so well versed in C++? It's pointless.

  • @LiveseyMD

    @LiveseyMD

    6 жыл бұрын

    prezadent1 Because every professional should keep an eye on what's going on in his professional area.

  • @vertigo6982

    @vertigo6982

    6 жыл бұрын

    especially when it comes to computer programming.. and especially the evolving world of C++.

  • @yan-amar

    @yan-amar

    5 жыл бұрын

    It's... floating pointless

  • @FLCAS97
    @FLCAS976 жыл бұрын

    Reinventing the wheel...

  • @alstudios

    @alstudios

    6 жыл бұрын

    And the wheel would be what? Java?

  • @moofymoo

    @moofymoo

    5 жыл бұрын

    imho using C++ instead of any of those new shiny languages is quite oposite - you are still using same old wheel that is updated just enough to stay revelant in modern world. It's kinda romantic in a weird way. :p

  • @Dennis19901

    @Dennis19901

    5 жыл бұрын

    @@alstudios Java OMEGALUL. Java is pretty much a square wheel.

  • @BrutusPalmeira
    @BrutusPalmeira4 жыл бұрын

    I don’t think people curious about c++ will be anymore encouraged to learn it after watching this. Those of us who already know it, there was some good info, at the same time, this makes me curious about Rust though....

  • @anant6778
    @anant67783 жыл бұрын

    Const is nothing unique or new. It's been there since C.

  • @beron_the_colossus

    @beron_the_colossus

    3 жыл бұрын

    en.wikipedia.org/wiki/Const_%28computer_programming%29?section=17#History

  • @anant6778

    @anant6778

    3 жыл бұрын

    @@beron_the_colossus Yoir right. C++ had it first , bit C has ot since the C89 standard so I took it for granted

  • @vertigo6982
    @vertigo69826 жыл бұрын

    This may sound crazy, but I would prefer vector::const_iterator i = v.begin(); over the range-based for loop code only because it actually illustrates what it is, and what its doing. (its type and that its iterating) Yes the other way may be easier to remember, quicker to type, easy to use, even more efficient, but nonetheless it may lead us down a road of lazy programming. Simplicity is the concept that humans strive for when it comes to EVERYTHING. Ok well lets just say we make everything easy to do- less work involved.. less thinking.. less problem solving... Its basically the Wall-E paradigm. Just imagine a world where everything is done for you- Chopping down trees, building homes, growing and cooking food. One day there CAN be an era of humans who wont know how to do anything being born into a world of automation. I think there needs to be a line drawn eventually when to stop trying to make things easier if its not broken dont fix it. Not complaining about any of these new additions to the C++ standards. I welcome (some) them, and see why theyre (some) needed; I'm simply thinking ahead, and with simplicity leads to laziness and to a point.. a decay in intelligence. It's nice to have multiple tools to do one job, but that should mean one tool is better than the other. So perhaps some refining can be done so we can eliminate excess tools. Why keep both tools around when one is better than the other? "Backwards compatibility" and that's where things can get crazy if new features keep getting added that are better than old features. So they can't remove the old features or the c+ + community will go nuts with all broken code one day... So it's safe to assume we won't see that happening. Perhaps this is why D was created and why Scott Meyers left the C++ community for D? IMO people are already abusing "auto". I've already seen some code where everything was auto and I had a difficult time understanding the code. Would be nice if it was a language where only one way can be used to do it, doing it any other way just won't compile so that bad practices can't occur. A need for stricter guidelines... but then that wouldn't be the adaptable and evolving multitool language of C++ now would it?

  • @EgD996

    @EgD996

    6 жыл бұрын

    I still prefer "auto i = v.begin()", "auto i : v" even better because life is short

  • @aiman_yt

    @aiman_yt

    6 жыл бұрын

    Why are u using C++ is you are all simplicity? Just use C.

  • @SerBallister

    @SerBallister

    5 жыл бұрын

    Aiman Why not pick and choose features you need. I use C++ most of the time but there are some features I don't even go near, like exceptions for example :)

  • @TheEVEInspiration
    @TheEVEInspiration6 жыл бұрын

    I get so sick and tired of people thinking of memory leak issues being tied to C++. Even back in the 90s anyone that could actually program would NEVER cause a memory leak. When following some basic rules (which I hope to see enforced in a replacement language), its simply impossible. Many simply did not understand the basics of memory and this is true even today, yet people should know. Now days people get stuffed full with nonsense about "best practices" that only over-complicate the code and can cause these issues to begin with. And some of those new C++ features are the exact pathogen I am talking about. They should have cut parts out of the language and it would have improved. Language power comes from simple, expressive / predictable code. The rest is fluff that only does harm but might help in specific edge cases. And for crying out loud, I wish all languages with some form of templating would stop repeating Template in favor of a mandatory alias (like: templateType ), which is much more natural.

  • @klarnorbert

    @klarnorbert

    6 жыл бұрын

    I love how these ppl still talking about memory managment/and or leaks, when we have smart pointers since C++11.

  • @aiman_yt

    @aiman_yt

    6 жыл бұрын

    So "real" programmers don't write bugs? Where do I find one of those?

  • @TheEVEInspiration

    @TheEVEInspiration

    6 жыл бұрын

    Waves. And if you look in the wrong places, you never find one! Most developers are not really that but merely learned the job as a recipe by education or just fel into it from another function. Experienced or not, that does not make for quality material, regardless of intelligence. It doesn't help that most things people learn these days is just wrong. A 25-30 year old does not become a top athlete or a top-chess player, or ... And yes, programmers have this same learning/training/conditioning curve and its even a bit more complex as some rules change every few decades.

  • @aiman_yt

    @aiman_yt

    6 жыл бұрын

    TheEVEInspiration name one "real programmer"

  • @cybienoa3530

    @cybienoa3530

    5 жыл бұрын

    C++ being my bread and butter for the past 15 years, I haven't seen any kind of memory leak for years and years. With using value types and smart pointers, they just don't happen anymore. Funnily enough, the only leaks I've seen in those years are resource leaks(file handles) in Java programs.

  • @AnRodz
    @AnRodz5 жыл бұрын

    Rust, my friend, Rust. Bye bye to C++, shall it be forever honored.

  • @Dennis19901

    @Dennis19901

    5 жыл бұрын

    Today in this never happened. You have no clue how many systems are written in C++. And you seem to have even less of a clue of how the IT business works. Don't fix it if it isn't broken. There are businesses out there still running COBOL systems, because they still work. Go convince the gaming and embedded industry first

  • @JohnnyThund3r

    @JohnnyThund3r

    4 жыл бұрын

    I've been learning C++ for years but really stepped up my game recently, I know enough now that for me most of this talk was pretty understandable. But I gotta say, all this video really made me want to do was stop learning C++ and go learn Rust, it's kinda a little embarrassing. The only reason I've stuck with C++ for so long is because I like being close to the metal, try and understand how computers work, and I want to build fast code for games/game-engines. I'm gonna keep learning C++ because I feel I'm finally making some progress, but will defiantly be checking Rust out here shortly. This guy in the video has basically shown C++ Devs are living in the stone age while Rust people are probably going to be the one's living on Mars. Me, I would like to visit Mars, but come back after 2 or 4 years; guess I'll learn both.

  • @striker865
    @striker8656 жыл бұрын

    Just write a new language, don't just jerryrig an old language :/

  • @TheEVEInspiration

    @TheEVEInspiration

    6 жыл бұрын

    Exactly, it was beyond bloated in the late 90s...imagine how its now.

  • @vertigo6982

    @vertigo6982

    6 жыл бұрын

    they did.. its called "D".

  • @Tinfoilpain

    @Tinfoilpain

    6 жыл бұрын

    What would you suggest they change? It's big but you by no means have to use or know all of it.

  • @TheEVEInspiration

    @TheEVEInspiration

    6 жыл бұрын

    The first issue should be one of focus. Library makers should focus on producing an easy to use set of lego blocks (possible witin a co-operating framework). Here all pieces of code should be single purpose and unit testing is very relevant. etc. Application builders give context and meaning to the lego blocks, so they almost never should produce code anything like what a library looks. Yet these days applications get written as libraries, with poor results for obvious reasons and the required mental bagage skyrockets as a result. And not surprisingly doing unit testing here is just wasting everyone's time and cripples productivity. So instead of having one large language, with a programming surface area everyone that uses it gets in touch with at one time or another, cut it into several more purpose focused languages. A library builder has different needs than an application developer (even tho the former should ALWAYS keep the needs of the later as his first priority, coding less is NOT always the best solution). A good start would be each develop in a different sub-language and that the library exposes just enough to be usable by the application. What I would cut for sure are operator over-loaders. What I would add is a string type as a first class build-in data type. I would overhaul the typing system and introduce type aliases for user friendly type names that ** remain compatible ** with the underlying type. Forced used of named arguments beyond the first argument. instead or ordinal arguments (ordinal makes most code jibberish unless deeply familiar with all the code). Classes, while C++ implementation beats the socks off Java and C# in many ways, I still would consider nuking them to the very basics needed for program structuring, which in turn should lead to simpler code in applications. This is by no means a comprehensive list, there is so many to consider and it would for sure be an entirely unique language. I don't even like some things I seen from looking at Rust online, and that one is pretty much new. I think that language is verbose in the wrong places and cryptic where it does not need to be. I would focus on a stack model with clear destructors, typical application code almost never has to allocate something dynamic for long and typical written code needs to reflect that. That does not mean everything should end up on the stack, but the programmer does not need to care. It is the behavior that counts, the predictability and the simplification of code. Things like smart pointers are rather dumb, or I should say too easy to use dumb. By focusing on fixing the pointer, the problem gets worse, the focus should be on how to easily architect an application in larger blocks with clear moments of handling over responsibilities. Collections...just have arrays and maps, the rest is pretty much useless on modern architectures. Have the essentials in there, make it easy for new people to learn to use them well and move into a golden age. Memory management, promote use of block allocators everywhere that destruct all objects in one go. Objects rarely get allocated alone unless they are very shorty lived. Next make arrays a little safer(ditch the stupid vector name, its meaningless as it means so many things). Anyway modern "programming" (kuch), has too much focus on micro-design and coding, and not enough strategic big picture thinking. Its like winning on average more tiny battles than loosing them, yet still loosing the war. Ever inherited a project? Well me, so many times and a few things sticks out...over engineering, scattered code, making things hard to track. And much of it is promoted trough language features and how they work...fix that and fix the world!

  • @frydac

    @frydac

    6 жыл бұрын

    there have been multiple attempts, imho most notable are D and Rust, which are very cool and do some things better. But C++ is everywhere, lots of libraries, lots of compilers for different platforms/architectures, and there is a lot of legacy code. Also it tries to assimilates these improvements of the other systems programming languages, with varying success. It's very very hard for a new language to combat that..

  • @bernadettetreual
    @bernadettetreual6 жыл бұрын

    C++ is an overcomplicated language that is limitrd by a committee that is producing features that look good on paper, but are impossible to use - unless you spend a year mastering them.

  • @raymundhofmann7661

    @raymundhofmann7661

    6 жыл бұрын

    I understand, it is too complicated for _you_.

  • @bernadettetreual

    @bernadettetreual

    6 жыл бұрын

    Raymund Hofmann: Sorry to disappoint you, but my product is based on C++ and is bought by 100,000s of people worldwide. I know very well what modern C++ enables me to do and which fancy STL stuff is just a rapid-prototyping aid without any way to turn it into production-quality code.

  • @raymundhofmann7661

    @raymundhofmann7661

    6 жыл бұрын

    So you want to warn your customers about your software?

  • @bernadettetreual

    @bernadettetreual

    6 жыл бұрын

    Raymund Hofmann: And I really thought you would have brought at least one argument by now. We have to put a lot of effort into teaching people not to use some hip C++ features because that would compromise the quality of the software. And due to missing customisability, we have to roll our own mini STL. Example: Try to use std::optional without exceptions.

  • @raymundhofmann7661

    @raymundhofmann7661

    6 жыл бұрын

    So you have been bitten by std::optional throwing exceptions when you didn't expect it? Good to know that you were too lazy reading all the docs and assumed whatever "magic" about it's behavior.

  • @nO_d3N1AL
    @nO_d3N1AL6 жыл бұрын

    ...but Java can do all that, is high performance and is getting value types and has auto (var), lambdas and enhanced for loops. C++ is a legacy language and looks ugly IMO

  • @brenogi

    @brenogi

    6 жыл бұрын

    Yeah right...

  • @raymundhofmann7661

    @raymundhofmann7661

    6 жыл бұрын

    Oh, another Java fanboy. Please spare me with your slowish indeterministic "sofware" suffering from memoriam adipositas bulimia.

  • @aiman_yt

    @aiman_yt

    6 жыл бұрын

    Java: 2018, and still no value types. Consumed boatloads of memory for the simplest of things. Produces substandard programmers who don't know jackshit about memory and just allocate everything on the heap. Even freaking ints are allocated separately in an ArrayList. 1000 elements = 1001 allocations. Bravo. No wonder java is Dog slow

  • @raymundhofmann7661

    @raymundhofmann7661

    6 жыл бұрын

    Luckily Java and Android are slowly fading. But then again people kill not weapons.

  • @aiman_yt

    @aiman_yt

    5 жыл бұрын

    ausnurten Uhh, Kotlin and Scala also compile to the same bytecode which have the same problems..

Келесі