Linus Torvalds thinks Java is a horrible language

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 พ.ย. 2011
  • In this interview Torvalds talks about Oracle and Java.
    Subscribe to our weekly newsletter to get such interviews in your inbox: www.tfir.io/dnl
    Become a patron of this channel: / tfir
    Follow us on Twitter: / tfir_io
    Like us on Facebook: / tfirmedia
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 2.4K

  • @fromfilmtocode
    @fromfilmtocode 4 ปีที่แล้ว +1629

    Steve Carrel should make a movie about his story and linux.

    • @denemeuyesi1212
      @denemeuyesi1212 3 ปีที่แล้ว +54

      Wow they also look similiar too.

    • @anilgeorge04
      @anilgeorge04 3 ปีที่แล้ว +52

      Oh my god, I was just thinking that!
      Linux Office Suite.

    • @perseusarkouda
      @perseusarkouda 3 ปีที่แล้ว +18

      It's crazy, they do look similar and almost nobody has noticed it until now!

    • @denistereshchenko2505
      @denistereshchenko2505 3 ปีที่แล้ว +8

      *Screenplay by Aaron Sorkin*

    • @georgeofhamilton
      @georgeofhamilton 3 ปีที่แล้ว +30

      “The Big Source”

  • @michaelfitzgerald3344
    @michaelfitzgerald3344 10 ปีที่แล้ว +2509

    Screw it, I'll just learn x86 Assembly.

    • @coulprit3498
      @coulprit3498 10 ปีที่แล้ว +82

      that and c maybe python

    • @TomCarbon
      @TomCarbon 7 ปีที่แล้ว +88

      you'll end up in being more proficient lol

    • @bcl56
      @bcl56 6 ปีที่แล้ว +7

      Goo

    • @bentmercer
      @bentmercer 6 ปีที่แล้ว +77

      I've coded in assembler for a job in the past, assembler is still my favorite. Python is a close second.

    • @arunabraham9382
      @arunabraham9382 6 ปีที่แล้ว +30

      Learn Rust

  • @obinator9065
    @obinator9065 3 ปีที่แล้ว +763

    language, except C: *exists*
    Linus: no thanks

    • @dollaramaNoodleCup
      @dollaramaNoodleCup 3 ปีที่แล้ว +1

      prissy bitch Linus is

    • @ishdx9374
      @ishdx9374 2 ปีที่แล้ว +15

      @Daddy webdev is 🤢

    • @ishdx9374
      @ishdx9374 2 ปีที่แล้ว +8

      @Daddy mainly because you have to develop in garbage language (javascript, or if you are lucky, typescript), dealing with frameworks and libraries written by uncle bob fanatics (which have bugs all around them), in the end it's so painful to do pretty much anything. i used to do webdev, but i'm glad i finally do systems programming instead

    • @Tintak_hatpin
      @Tintak_hatpin 2 ปีที่แล้ว +5

      @@ishdx9374 where are u learning systems programming from ?

    • @ishdx9374
      @ishdx9374 2 ปีที่แล้ว +11

      @@Tintak_hatpin random places all over internet, try doing something like osdev, browser engine (or layout engine), emulators, programming languages, game engines etc

  • @CRogers
    @CRogers 8 ปีที่แล้ว +1716

    Title should be: "Oracle: A horrible company."

    • @puneetsharma2737
      @puneetsharma2737 8 ปีที่แล้ว +3

      ))

    • @CRogers
      @CRogers 7 ปีที่แล้ว +9

      D Grossi 1999 Watch the video, ffs. :P

    • @raffaelehuang8360
      @raffaelehuang8360 7 ปีที่แล้ว +12

      TBH I don't care Java or Oracle Linus is talking about. For me, they have been synonymous.

    • @CRogers
      @CRogers 7 ปีที่แล้ว +67

      The problem is, Java was made by Sun Micro-systems and released in 2007 under the GNU General Public License, and Oracle has done their best since acquiring Sun to make Java non-free, after the fact. So the question is, do we let them do that?

    • @tikabass
      @tikabass 7 ปีที่แล้ว +15

      An oracle can never be deterministic. That's where the problem comes from :)

  • @ManicEightBall
    @ManicEightBall 9 ปีที่แล้ว +494

    I can feel the black hole of language flame wars sucking me in. I have to escape its gravitational field...

    • @stefanplusplus917
      @stefanplusplus917 5 ปีที่แล้ว +6

      indeed

    • @typhoon20724
      @typhoon20724 4 ปีที่แล้ว +2

      Great comment :D

    • @KyrosNox
      @KyrosNox 4 ปีที่แล้ว +2

      Lol. War of the languages.

    • @holyhexor_w
      @holyhexor_w 3 ปีที่แล้ว +3

      Try 'exit' or 'return'

    • @hexa3389
      @hexa3389 3 ปีที่แล้ว +1

      I took ap cs. Now I will destroy any computer that has one line of java code written in it.

  • @ericfricke4512
    @ericfricke4512 4 ปีที่แล้ว +355

    0:57 Actually, it looks like Linus likes java.

  • @stretch654
    @stretch654 2 ปีที่แล้ว +77

    He seems like a guy who would prefer to build literally everything in C.

    • @obiwac
      @obiwac ปีที่แล้ว +8

      Factually incorrect though, he's praised so many more languages and if I had to guess he probably has more gripes with C than Rust for instance.

    • @haroldcruz8550
      @haroldcruz8550 หลายเดือนก่อน +1

      Nah, Java is just that horrible.

  • @AYUSHSINHAK-EC-
    @AYUSHSINHAK-EC- 4 ปีที่แล้ว +882

    This Linus guy seems smart, he should build some programming language or operating system

    • @JanHDD
      @JanHDD 3 ปีที่แล้ว +140

      And he did neither!!!!
      He wrote the Linux kernel not the os!

    • @perseusarkouda
      @perseusarkouda 3 ปีที่แล้ว +108

      @@JanHDD "Hello everybody out there using minix -
      I'm doing a (free) operating system (just a hobby, won't be big and
      professional like gnu) for 386(486) AT clones." - Linus Torvalds 1991
      Then the GNU guys who had a less evolved kernel chose to adopt Linux and became Linux + GNU. So yeah, he did wrote an operating system.

    • @JoakimBB
      @JoakimBB 3 ปีที่แล้ว +14

      Best bait

    • @denistereshchenko2505
      @denistereshchenko2505 3 ปีที่แล้ว +20

      @@soumyaboral3354 Guess what? r/wooosh

    • @soumyaboral3354
      @soumyaboral3354 3 ปีที่แล้ว +1

      @@denistereshchenko2505 maybe..

  • @grrr1351
    @grrr1351 8 ปีที่แล้ว +595

    java is my language. I live in java, Indonesia. I feel offended

    • @DavidKennedyAraujo
      @DavidKennedyAraujo 8 ปีที่แล้ว +13

      +Jiz Tom It's not about Java programmers, is about the language it self. A Developer need understand that and learn more than one language and decide what use on each problem solving, on each context.

    • @grrr1351
      @grrr1351 8 ปีที่แล้ว +96

      David Kennedy Araújo it's a joke man

    • @MrOperettalover
      @MrOperettalover 8 ปีที่แล้ว +3

      +Jiz Tom As a Java programmer you shouldn't be smart enough to be offended. Something is wrong here. Maybe you're really really bad at it? Just searching for an escape route for you.

    • @Placid_Cat
      @Placid_Cat 8 ปีที่แล้ว +15

      +MrOperettalover Java is also a place, he's making a joke. It's "you should be smart enough to not be offended". What escape route are you offering? None that I can see from that asinine comment.

    • @MrOperettalover
      @MrOperettalover 7 ปีที่แล้ว +5

      *****
      Linus Thorvalds "I don't really care, I mean Java, what a horrible language":
      We don't need to Linus word for it. Everybody can search at google for source code and at the very first page they find they see Java is so verbose, no sane person would ever like to write or read it. It's a language for complete morons basically.

  • @Potenti4lz
    @Potenti4lz 8 ปีที่แล้ว +427

    LMAO. 'Ugliest autograph ever, I should have been a Doctor' Ahaha, what a sincere guy.

    • @AndyU96
      @AndyU96 5 ปีที่แล้ว +1

      Potenti4lz That is not sincerity, that is compensation

    • @CanIHasThisName
      @CanIHasThisName 2 ปีที่แล้ว +8

      @@AndyU96 In some countries, the idiom "to write like a doctor" means "to have a horrible handwriting" and you can say "you should have been a doctor" as a response to their handwriting.

    • @ishid_anfarded_king
      @ishid_anfarded_king 2 ปีที่แล้ว +3

      @@AndyU96 I think he was making a joke about his handwriting...

    • @ishid_anfarded_king
      @ishid_anfarded_king 2 ปีที่แล้ว

      also Linus of all people should know that doctors nowadays make dog shit

  • @tzaeru
    @tzaeru 11 ปีที่แล้ว +99

    "it wasn't designed for readable code" .. Ahahahhaha!

  • @999a0s
    @999a0s 9 ปีที่แล้ว +423

    linus has been programming longer than 98% of you in the comments, and kernel development (what he does) is one of the hardest fields in programming. instead of dismissing his opinion you might want to realize that he most likely knows a lot more about programming than you. there is a reason he says java sucks and nobody in these comments is really getting it.

    • @The_Ballo
      @The_Ballo 9 ปีที่แล้ว +93

      999a0s Shh, you're dealing with people who passed tests at a university in Java-ology. They know everything!

    • @insect212
      @insect212 8 ปีที่แล้ว +25

      999a0s There are probably people that have been programming longer than him that think Java is a great programming language. I don't care how impressive Linus is just becuase he says something sucks doesn't mean he's wrong. Although in this case I personally agree with him, I just don't want him infallible.

    • @Sanchellios
      @Sanchellios 8 ปีที่แล้ว +49

      999a0s Well, Linus is a great system-programmer. He writes in C. Every language have it's purpose. Java is quite good in creating web-services and in server-side programming, but C is not that language that could solve problems easily in this. But, for sure, it is impossible to write drivers on Java, so that's why Java sucks at point of Linus. Nobody could be right for 100%, because we are all humans, we make mistakes. So, Java is really good for web, and C is good for systems, that is truth. Some dislikes, opinions etc. - just emotional stuff.

    • @The_Ballo
      @The_Ballo 8 ปีที่แล้ว +7

      Александр Василенко Yeah, which is why Java is losing traction on the web to django and asp.
      Oracle tried to copy OPENSTEP/WebObjects but I'd argue they failed technically. They succeeded in giving it away and thus getting a foothold in universities which is the only reason we're stuck with it.

    • @programmingandfinance8239
      @programmingandfinance8239 8 ปีที่แล้ว +2

      999a0s yes respect the experienced

  • @ca1977a
    @ca1977a 12 ปีที่แล้ว +333

    I grew up with strongly-typed languages and I'm a big fan. Anything that gets errors caught by the compiler, rather than at run time, is good in my books. (For the same reason I was initially very skeptical of frameworks like Spring, which seemed at first to be mainly a system to push compile-time errors into run time and then make them hard to debug, but I'm slowly seeing some benefits...)

    • @damiengates7581
      @damiengates7581 3 ปีที่แล้ว +20

      yeah I love Java, because I know when I write the code it's just going to work

    • @-..-_-..-
      @-..-_-..- 2 ปีที่แล้ว +53

      there are good strongly typed languages too btw

    • @patiencebear
      @patiencebear 2 ปีที่แล้ว +7

      @@-..-_-..- You have a fitting user-name xD. I'm a Java Dev, but that made me chuckle. Thanks.

    • @Guide4Ever
      @Guide4Ever 2 ปีที่แล้ว +1

      TypeScript gang does not approve of the last part of your comment. You are not here and maybe not here. You either are or you are not!!
      *makes an angry face*

    • @RegularTetragon
      @RegularTetragon 2 ปีที่แล้ว +17

      Haskell is even more strongly typed than Java and has none of the suck that Java has. In fact the type system is so strong you don't even need to declare types, the compiler figures it all out with an extremely powerful type inference algorithm. Type declarations exist solely for the programmers benefit as they make type errors the compiler gives you a little clearer.

  • @fevicoI
    @fevicoI 2 ปีที่แล้ว +139

    Linus spitting facts. Oracle tried to push every feature from every language into Java. I worked 10 years with J2EE and so many drastic changes make no sense to me. I think the language was good but a bunch of people made it a cash cow.

    • @syntaxerror8955
      @syntaxerror8955 ปีที่แล้ว +8

      Although of course one doesn't necessarily have to use the newer features of Java.

    • @jean4j_
      @jean4j_ ปีที่แล้ว +6

      @@anon8510 more "functional" features perhaps? I don't see how they are bad. Besides the same could be said a lot of languages.

    • @jean4j_
      @jean4j_ ปีที่แล้ว +2

      @@anon8510 Yes definitely. I think functional features are good. I'm more of a Scala developer myself. Well 50% Java- 50% Scala.
      I agree.
      I don't know much about C#, would you mind sharing in what way C# is better than Java in your opinion?
      Would you say C# = Kotlin?

    • @CoreDump451
      @CoreDump451 ปีที่แล้ว +3

      @@jean4j_ I think Kotlin is one of the most beautiful languages I have written in. A real pleasure to use.
      Unfortunately, I don't have much experience with C#, so I can't really say how it compares to Kotlin.
      I honestly don't see why people hate Java so much, though. I really don't see that many problems with it. It's nothing spectacular but I don't mind working with it. I am currently working on a Java with Spring Boot project and really enjoying it.
      I really like working with C on my personal projects, though.

    • @jean4j_
      @jean4j_ ปีที่แล้ว +2

      @@CoreDump451 I definitely don't understand the hate towards Java. Most of people only think of Java before Java 8. They think of super complex projects that were often poorly designed with massive use on inheritance.
      Java has evolved and has an ok syntax. More concise (type inference, records, fp features, etc...).
      I don't get why people hate Java so much and love python that much (being a data engineer I've used Python a lot).
      Have you tried Scala? Pretty similar to Kotlin in many ways

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 7 ปีที่แล้ว +221

    Java was supposed to be simpler than C++. But it succeeded in keeping most of the complexity, while omitting such niceties as typedefs, unsigned integers and operator overloading. It also left out generics to begin with, then changed its mind and added them back--in a much more complicated way than if it had had them from the beginning.
    Trivia question: in C++, you use the word “new” to allocate an object on the heap; if an object is created on the stack, you don’t put “new” in front of the type name. In Java, all objects are on the heap, so you would think the word “new” would be redundant. Yet Java still uses “new”. Why?

    • @justincameron9123
      @justincameron9123 2 ปีที่แล้ว +32

      "if you arent going to use the term 'new' exactly as it is used in c++ then why use it at all?" Who said they had to base its usage on how it was used in c++? Thats not at all a valid point. You could make the case for the term being redundant but thats about it

    • @iamamish
      @iamamish 2 ปีที่แล้ว +45

      @@justincameron9123 that's exactly what he said though, 'it is redundant'. It doesn't add anything.

    • @justincameron9123
      @justincameron9123 2 ปีที่แล้ว +3

      @@iamamish Which I acknowledged. Do you read the other half?

    • @iamamish
      @iamamish 2 ปีที่แล้ว +37

      @@justincameron9123 Yes, the first half is what I'm talking about.
      The first half of your comment called OP out for suggesting the use of 'new' in Java had to be modeled after the way in which it was used in C++. But, he wasn't suggesting 'new' had to be used the same way as it was in C++. He was simply pointing out that C++ had a reason for the keyword, while Java did not.
      You conceded the point about redundancy at the end of your comment, as if it were a side point to his comment, but it was the entirety of OP's observation - namely that it is pointless to use 'new' in Java.

    • @tdelfino2509
      @tdelfino2509 2 ปีที่แล้ว +21

      JetBrains clearly had the same idea with "new", which is why it's not part of the Kotlin language at all

  • @1karaden
    @1karaden 10 ปีที่แล้ว +290

    It all depends what you want to do. Linus thinks as a system programmer so being as close as possible to the machine is important, then he prefers to stick with C. It says C++ is horrible too, etc....
    When your goal is to write a business application for instance, C will probably be too low level and your programmers will be more efficient with a language that does not require 3 lines of code to copy a string to another (it's not a troll, it's a joke).
    That said, C is great for OS programming and was created in this purpose.

    • @rajinfootonchuriquen
      @rajinfootonchuriquen 2 ปีที่แล้ว +2

      It's just one line of code like anything else 👀.

    • @titoli1
      @titoli1 2 ปีที่แล้ว +22

      Dude you are trying to argue with the father of Linux that literally wrote the software that the whole world is running on.

    • @ericvosselmans5657
      @ericvosselmans5657 2 ปีที่แล้ว +3

      @titoil (?) Fake news. My laptop isn't running on ​Linux.

    • @pyotrilyichtchaikovskyii6638
      @pyotrilyichtchaikovskyii6638 2 ปีที่แล้ว +12

      @@ericvosselmans5657 Your toaster is.

    • @ericvosselmans5657
      @ericvosselmans5657 2 ปีที่แล้ว

      @@pyotrilyichtchaikovskyii6638 So I heard

  • @john42t
    @john42t 10 ปีที่แล้ว +193

    "The syntax was designed to appeal to C++ programmers..."
    It's way too simple, readable and grammatically unambiguous to appeal to C++ programmers.

    • @LiberatedMind1
      @LiberatedMind1 4 ปีที่แล้ว +25

      You mean verbose, boiler plated, and convoluted.

    • @procerator
      @procerator 4 ปีที่แล้ว +11

      @@LiberatedMind1 if you think Java syntax is convoluted - look at some of C++ STL files.
      Templates and pointers to functions make C++ code nigh unreadable.

    • @KishoreG2396
      @KishoreG2396 4 ปีที่แล้ว +17

      @@procerator std::nonowning_memory_resource resource{};

    • @gnaurai6251
      @gnaurai6251 4 ปีที่แล้ว +2

      @@KishoreG2396i have vietnam flashbacks from std::allocator, basically unreadable unless there are constants

    • @obinator9065
      @obinator9065 4 ปีที่แล้ว +1

      procerator Well type deduction makes them usable for the average one.
      But goddammit when you look the internals up...

  • @vaylonkenadell
    @vaylonkenadell 2 ปีที่แล้ว +6

    So, turns out it *wasn't* a good idea to run it on 3 billion devices.

  • @volundrfrey896
    @volundrfrey896 8 ปีที่แล้ว +361

    The only reason some people love java so much, and get so defencive about it, is because they don't know any other language.

    • @Sanchellios
      @Sanchellios 8 ปีที่แล้ว +53

      it seems to be, that you don't know any programming language at all

    • @Veri7a
      @Veri7a 8 ปีที่แล้ว +2

      +Александр Василенко #shotsfired !!

    • @dvoulio
      @dvoulio 8 ปีที่แล้ว +6

      A correct statement if you substitute C++ for "Java"... :-)

    • @asuasuasu
      @asuasuasu 8 ปีที่แล้ว +13

      +dvoulio Why exactly? Java is a bloated language.

    • @tamascsala8374
      @tamascsala8374 8 ปีที่แล้ว +1

      +dvoulio there wasn't a single occurance of the "Java" string in the original post (only "java"), so yes, it was a correct statement after all.

  • @pieterrossouw8596
    @pieterrossouw8596 8 ปีที่แล้ว +207

    I prefer C, Python and C# to Java, but languages should be viewed as different tools for different applications... Lots of respect to the guy, and there are legitimate reasons for hating Oracle, but saying Java is a horrible language is a bit rough, quite arrogant and ignorant.

    • @CreativeVery
      @CreativeVery 7 ปีที่แล้ว +19

      Lol, congratulations! You pointed something out that anyone with a brain would have noticed. I really don't know what you had planned to achieve by demeaning him, but I'm sure it worked out for you.
      Quite redundant and obnoxious.

    • @rushyscoper1651
      @rushyscoper1651 7 ปีที่แล้ว +14

      true java have a lot to offer and we should look at them as a tool
      i think when said Java is a horrible language he was speaking about its syntax
      i mean i am java dev but i cannt blame other when they hate on java syntax

    • @CreativeVery
      @CreativeVery 7 ปีที่แล้ว +9

      Bundi Clionie Lol stfu.

    • @rushyscoper1651
      @rushyscoper1651 7 ปีที่แล้ว +19

      ***** first i dont hate Linus i love the guy
      but most of opinion is based on him being kernel dev
      java maybe suck in desktop app or mobile or
      jvm slow etc
      but if he where to be backend web dev he would think a little highly of java because no one does distributed systems better then java
      he hate c++ because it crap in kernel dev and he call ppl that program kernel subdeveloper
      but if he would have been working in high gaming like gta he would have to use c++ coz nobody does it better
      language are tool hate or love them
      and a programmer jop is to use which tool fit his task the most
      and let us be honest in programming world
      languages are religion
      only in programming where i become atheist

    • @valentinrafael9201
      @valentinrafael9201 7 ปีที่แล้ว +3

      If he was to reply to you he would probably say "people are different and it's great that you disagree with me". He is a great dude. I think he has a lot of fun throwing words and look at others reaction.

  • @InXLsisDeo
    @InXLsisDeo 12 ปีที่แล้ว +101

    I suspect Linus actually has very good taste in programming languages. His view on the Java language is largely shared, but he has a unique view on it from the perspective of an OS designer, where low level control of memory and hardware is paramount. He very well knows that Java was never designed for these tasks, but still, he speaks with his heart. Knowing his own limits, he would probably refrain from saying such things about Lisp or Haskell, for instance.

    • @Big-Chungus21
      @Big-Chungus21 ปีที่แล้ว +19

      10 year old comment but i do agree. Python isnt an awful language for example, but if you try to write an operating system with it i will literally break into your house to stop you.

    • @youtubeenjoyer1743
      @youtubeenjoyer1743 9 หลายเดือนก่อน +2

      @@Big-Chungus21 Python is an awful language. The only reason it's popular is its huge library of modules, just like Java was (and still is to an extent).

    • @adib-enc
      @adib-enc 9 หลายเดือนก่อน

      @@youtubeenjoyer1743 at least python helps to build AI like these days, even though with the foundation of other language

    • @barbados3592
      @barbados3592 7 หลายเดือนก่อน +1

      @@Big-Chungus21 as a guy who uses python, I'd help you stop me 😂😂😂

    • @barbados3592
      @barbados3592 7 หลายเดือนก่อน +1

      @@youtubeenjoyer1743 do you regard any dynamic language as genuinely good, and if so which one(s)?

  • @Moshikashitenai
    @Moshikashitenai 11 ปีที่แล้ว +6

    Haha, I love that! I love how you completely blew off every question I asked you.

  • @tusharagarwal5306
    @tusharagarwal5306 9 หลายเดือนก่อน +9

    There are only two kinds of languages: the ones people complain about and the ones nobody uses.
    -Bjarne Stroustrup

  • @dansanger5340
    @dansanger5340 9 ปีที่แล้ว +48

    Linus is a kernel developer, where it makes sense to use C. To make the leap from there and conclude that C is best for application level development is absurd. Preferring C over C++ for application level development is an act of mindless developer machismo. That being said, anyone who has developed in other modern OO/multi-paradigm languages such as C++ and C# and then develops in Java is instantly struck by how dated and minimalist it is. It doesn't have basic features such as delegates/function pointers and lambda expressions, which really makes for verbose code. That's not surprising, since Java was designed to run on every device down to a circa 1995 smart watch, but that era of computing is fast drawing to a close. Even smart watches today have decent computing power, so it's really not necessary to have such a minimalist language. Now, Java is addressing some of these deficiencies in its latest iteration, but it sure took them long enough.

    • @dansanger5340
      @dansanger5340 9 ปีที่แล้ว +1

      PwnageDev You're right that I'm not familiar with EE, but my impression (possibly incorrect) was that the difference was only in the libraries, not the language itself. I don't really have any complaints at all about the Java libraries. I think they're great.
      I used to think that C# was very similar to Java, until I had to port an application from C# to Java, and the lack of lambdas and delegates (references to class methods) became very apparent. In Java, you have to substitute an inner class or anonymous class, which makes the code really ugly and verbose. This pattern shows up all the time in event-driven UI code, regardless of platform. To someone who hasn't experienced it, it may seem like a minor inconvenience, but believe me that it gets old real fast when you have to type unnecessary class declarations hundreds of times just to set up handlers for a UI event (see below for a small example). And a LINQ-like library in Java is almost pointless without language support for lambdas and closures, because it would be extremely verbose and virtually unreadable. Fortunately, Java 8, released just a few months ago, has support for lambdas, but it will take a while to trickle down to all the tool chains and platforms.
      class CSharpUIClass {
      public CSharpClass() {
      button1.SetClickHandler(HandleClick1);
      button2.SetClickHandler(HandleClick2);
      }
      private void HandleClick1() { ... }
      private void HandleClick2() { ... }
      }
      class JavaUIClass {
      public JavaUIClass() {
      button1.setClickHandler(clickHandler1);
      button2.setClickHandler(clickHandler2);
      }
      private ClickHandler clickHandler1 =
      new ClickHandler {
      public void handleClick() {...}
      }
      private ClickHandler clickHandler2 =
      new ClickHandler {
      public void handleClick() {...}
      }
      }

    • @op9836
      @op9836 9 ปีที่แล้ว

      Java == Bloat nuff said

    • @dansanger5340
      @dansanger5340 9 ปีที่แล้ว +1

      PwnageDev The C++ standard libraries don't address GUI, so any bloat in a C++ GUI library is on the library author. Actually, many of the GUI libraries used in C++ development are C libraries, since C++ has no problem calling C functions, and that's the lowest common denominator.

    • @dansanger5340
      @dansanger5340 9 ปีที่แล้ว

      PwnageDev Yes, I agree. I didn't understand what you meant by bloat.

    • @op9836
      @op9836 9 ปีที่แล้ว +5

      Java is bloat, execution is slow its just in general a garbage language there is no reason to use Java over C or C++. C has speed in aces all day over C++ or Java, properly written code in C will be much smaller than the same program in C++ or Java. C just trounces the competition. and btw no not all GUI libraries are slow, they just appear to be slow because you are/were using an abstracted C++ version of a C library. and people use C for GUI all the time, Linux+X11 are both written in C, Microsoft Windows uses C for their GUI, OS-X uses Obj-C, SDL is written in C it powers pretty much every modern-quake based game, Cocoa2d is written in Obj-C. C in some shape or form powers(powered) roughly 94% of all software, the remaining percentage is software either written before C's creation, or software that never had a single interaction with C either in the languages creation or pulling in libraries translated from C. so basically C owns your favorite language even some of the older revived languages probably use C in their creation of compilers/interpreters. in the case of compilers at least until they were self-compile-able.

  • @muhammedyasinhanyasar539
    @muhammedyasinhanyasar539 3 ปีที่แล้ว +38

    Java: every thing is reference in here.
    Ram of your pc: let me go.

    • @googleuser8512
      @googleuser8512 3 ปีที่แล้ว +6

      what's the problem with references and ram?

    • @TheBigLou13
      @TheBigLou13 2 ปีที่แล้ว +12

      You must be new to computers. In modern programming (python, go, JS,..) its rare that something is _not_ a reference (a pointer). Additionally all primitive data types (int, float, double, byte,...) *are no references in java.* Your argument is invalid on many levels.

    • @muhammedyasinhanyasar539
      @muhammedyasinhanyasar539 2 ปีที่แล้ว +4

      @@TheBigLou13 dude it is a very beginner level info. But Thanks. By the way primitive types also get place from ram. Evrything is in ram. Heap and Stack terms are just an abstraction layer for our memory. That was just a joke.

  • @GlimmerOfLight
    @GlimmerOfLight 11 ปีที่แล้ว +4

    Yes, I heard that. But the advantage is not so much that it can query for the hardware - compilers can and do the same thing, and you can usually recompile on your target machine. The one theoretical advantage lies in dynamic optimizations that rely on execution patterns. In practice, most of those are hard to achieve. Prof Appel (Princeton) and some folks at Google did experiments with "real life" code. They are all in line with my results: Java is typically 3 to 6 times slower than C/C++.

  • @asoidfhowehjr8248
    @asoidfhowehjr8248 6 ปีที่แล้ว +16

    "I should have been a doctor."
    Linus Torvalds
    haha

  • @nickfunk9946
    @nickfunk9946 2 ปีที่แล้ว +33

    I'm going to refrain from jumping on the bandwagon and go a different way with this. For the sake of staying impartial, I will say that I primarily do not use C or Java professionally but have used them in the past and know them both well.
    Linus is a smart man with a tool set and workflow that he prefers. There are undoubtedly many others who are also smart people with different tool sets and workflows they prefer. Do not take this man's word as gospel, it is but one data point in a sea of many.
    Is Java better than C? Is it better than C++? This is kind of a silly question. The question you should ask yourself is:
    Is it better for you?

    • @obiwac
      @obiwac ปีที่แล้ว +2

      Is isn't a silly question though. Not all languages have their use. Some can absolutely be better designed than others, and be better at all tasks than others. To take an extreme example, you wouldn't say brainfuck is a viable language for any niche, right?

    • @CoreDump451
      @CoreDump451 ปีที่แล้ว +1

      @@obiwac True, but I think a lot of the language wars seem to happen with mainstream languages that have clear uses more than niche or small obscure languages.

  • @Roflcopter4b
    @Roflcopter4b 10 ปีที่แล้ว +3

    I think he meant at that basic level. When I was sixteen I picked up a book on C++, watched a few videos, and was programing very basic console games and that sort of thing within a week or two. That much IS easy. What isn't easy is actually getting beyond that to do something useful, and on that I definitely agree with you.

  • @nitishmd
    @nitishmd 11 ปีที่แล้ว +50

    Well Linus and James Gosling are both amazing programmers! Its oracle that brings in all the shit!

    • @gregh5061
      @gregh5061 2 ปีที่แล้ว +7

      @Felipe Gomes uh... because he created a programming language that is being used by hundreds of millions of people ? That certainly puts him above average, even if you don't like java

    • @sorcerereye
      @sorcerereye 2 ปีที่แล้ว +1

      @@gregh5061
      But, that doesn't mean Java is a great language. Example:
      Millions of people are believers of any god (Jesus, Allah, whatever), and that isn't good, it's terrible. Equals to Java

    • @alaaawad7180
      @alaaawad7180 2 ปีที่แล้ว +2

      @@sorcerereye the idea of JVM is wide used now a day even by google themselves, JAVA changed the whole software land and forced apple and microsoft to counter it with their own close cross-platform like .net.
      to say that not impressive is pretty silly, its not about used its about how complex and new this concept where.

    • @ahmede.1375
      @ahmede.1375 ปีที่แล้ว +1

      @@sorcerereye it’s actually terrible to not believe In a higher power…

  • @tzaeru
    @tzaeru 11 ปีที่แล้ว +15

    Yes. I just found it hilarious that there was such an argument in defense of a programming language. To me, 'good code' also means 'readable code'. I also think that the principle of having "simple, robust and object-oriented" language would lend itself to serve the purposes of readable code.
    There's also no reason to think anything in Java, can just as well think stuff in general OOP or other paradigm and then implement the solution in the language of choice, that might lack Java's silliness.

  • @viewtifuljoe4412
    @viewtifuljoe4412 9 ปีที่แล้ว +4

    All I know is Doom is written in C \m/. I wish to program (not saying it will be easy, I just want to be prepared) What book can give me information of programming skills to know/have and a solid foundation before I begin?

    • @asuasuasu
      @asuasuasu 8 ปีที่แล้ว +1

      +Viewtiful Joe Read the cplusplus.com tutorial. it's pretty good even if it's not a book.

    • @viewtifuljoe4412
      @viewtifuljoe4412 8 ปีที่แล้ว

      Asu Whoa! This is great! Thank you.

    • @haroldcruz8550
      @haroldcruz8550 หลายเดือนก่อน

      read the glibc source code, if you're in debian $ apt source glibc
      The Linux Programming Interface: A Linux and UNIX System Programming by Michael Kerrisk
      Linux Device Driver Book 3rd Edition by Jonathan Corbet
      Advanced Programming in the UNIX Environment by Richard W. Stevens
      UNIX Network programming also by by Richard W. Stevens
      The 2nd Edition of Advanced UNIX Programming by Marc J. Rochkind
      Start small, don't try to take on the entire Kernel, creating a driver is a good first step.
      If you don't mind a video tutorial, try UEFI Dev (in C) by Queso Fuego

    • @haroldcruz8550
      @haroldcruz8550 หลายเดือนก่อน

      read the glibc source code, if you're in debian $ apt source glibc
      The Linux Programming Interface: A Linux and UNIX System Programming by Michael Kerrisk
      Linux Device Driver Book 3rd Edition by Jonathan Corbet
      Advanced Programming in the UNIX Environment by Richard W. Stevens
      UNIX Network programming also by by Richard W. Stevens
      The 2nd Edition of Advanced UNIX Programming by Marc J. Rochkind
      Start small, don't try to take on the entire Kernel, creating a driver is a good first step.
      If you don't mind a video tutorial, try UEFI Dev (in C) by Queso Fuego

    • @haroldcruz8550
      @haroldcruz8550 หลายเดือนก่อน

      read the glibc source code, if you're in debian
      The Linux Programming Interface: A Linux and UNIX System Programming by Michael Kerrisk
      Linux Device Driver Book 3rd Edition by Jonathan Corbet
      Advanced Programming in the UNIX Environment by Richard W. Stevens
      UNIX Network programming also by by Richard W. Stevens
      The 2nd Edition of Advanced UNIX Programming by Marc J. Rochkind
      Start small, don't try to take on the entire Kernel, creating a driver is a good first step.
      If you don't mind a video tutorial, try UEFI Dev (in C) by Queso Fuego

  • @harimohan2840
    @harimohan2840 9 ปีที่แล้ว +24

    I guess his system programming background led him to think that way. Java , well, it's heavyweight and like Larry Wall said, 'it looks like it's getting loads done by making simple tasks more lengthy in execution'. Personally even noticed performance difference in a certain Java program and the corresponding Python program. But in the end, it's awesome for web, especially server end. Personally I like minimalist languages like C and Python.
    "There's a tool for every task and a task for every tool" -- Tywin Lannister(thought it was relevant :P)

    • @meghanachauhan9380
      @meghanachauhan9380 2 ปีที่แล้ว

      Fuck java is gay

    • @Seff2
      @Seff2 2 ปีที่แล้ว +1

      @@meghanachauhan9380 Really nice arguments you put up here, food for thought. Also very eloquent writing style, makes reading your 4 word article a breeze. Always apreaciate it when peope with lots of knowlegde bring up their expertise in such an unbiased manner.

  • @prakashpandey1770
    @prakashpandey1770 5 ปีที่แล้ว +6

    After coding in c/c++/java/python/golang/rustlang my favourites are
    Golang: I use it where I can
    Rust: I use it where I should
    Python: I love it and use it for prototyping.
    Also, I have huge respect for c/c++ and Erlang.

    • @bigshrekhorner
      @bigshrekhorner 2 ปีที่แล้ว

      I have coded in C++/C, Python, a bit of Java and a bit of Assembly and I have used Bash extensively and Batch a little. My opinion on them:
      C++: I am essentially a C++ fanboy, I love it, even if it has its quirks. C has similar sentiments from me, but I hate the way it handles I/O.
      Python: I use it only for stuff that I am too "bored" to tackle with C++, like making a quick graph or calculation. I am not a huge fan and I find it not so minimalistic as I'd like (as in, you'd need to remember a lot of stuff by heart), but I see its appeal.
      Java: Java wants to be what Python is. Buit it's implemented horribly (seriously, who thought making a VM for just running a program was a good idea?), and it's so fucking difficult to learn due to its overly OOL design. I hate it, period.
      Assembly: Ah, assembly. The near machine language. When I saw how minimalistic it is (especially when you tackle stuff like RISC-V Assembly, although I have used on a practical level only x82-64 assembly) I was pleasantly surprised and liked it a lot. It's not as difficult as you may think when you hear the term "machine language" and it's fun experimenting around with it.
      Now on scripting languages:
      Bash: Ironically, Bash seems like Python in some parts, but with a more limited purpose (as in being a scripting language, not a fully blown programming language) and of course without the OOP design, yet I like it 10x more. Maybe because it doesn't try to be something comparable to a fully blown programming language
      Batch: It's a weird mix of Bash and logic you'd find on Assembly languages. I am not so sure how to feel about this one.

  • @hmm-bw4pg
    @hmm-bw4pg 2 ปีที่แล้ว

    can someone link the whole interview please.

  • @jonaslorik
    @jonaslorik 11 ปีที่แล้ว +20

    "It's the ugliest autograph, I shouldve been a doctor" xD

  • @R370RD
    @R370RD 10 ปีที่แล้ว +16

    I love both Linux and Java. I guess I'm dumb or some shit...

  • @codeaperture
    @codeaperture 2 ปีที่แล้ว +3

    Haha it's 2021 and this never gets old.

  • @lethalsub
    @lethalsub 11 ปีที่แล้ว

    Which 'html' are you referring to... HyperTextMarkupLanguage or HyperTrollMarkupLanguage?

  • @walec51
    @walec51 10 ปีที่แล้ว +1

    As does any language that has a compiler. AOT or JIT like Java and C#. In JIT you have the downside in larger startup times. But thanks to this it can optimize the compiled code by constantly analyzing the way it is executed. This is much better for long running server apps.

  • @irisaacsni
    @irisaacsni 8 ปีที่แล้ว +127

    I think that Linus said that Java is horrible in the context of kernel programming, he is not a web developer.

    • @groberti
      @groberti 8 ปีที่แล้ว +23

      +Isaac Monteiro well yeah, try programming the web with C, good luck I guess :) Each language has its use.

    • @groberti
      @groberti 8 ปีที่แล้ว +2

      ***** actually you pretty much need to use HTML with Java, too. PHP is a rubbish language but Ruby, the language itself is pretty cool I like it, and I've heard that the Rails framework is good, too. The sad thing is I'd love to learn it but in my country they usually look for Java or C# developers

    • @groberti
      @groberti 8 ปีที่แล้ว +17

      ***** How is PHP faster than Java? How is Minecraft slow? I guess your just a generic Java hater, you just hate Java because you think it is cool to do so. PHP is by no means faster than Java lol. Plus at scale Java is much better than PHP because PHP has no proper multithreading capabilities.

    • @groberti
      @groberti 8 ปีที่แล้ว +14

      ***** And what security issues are you talking about? omg you know nothing about this xD

    • @groberti
      @groberti 8 ปีที่แล้ว +2

      Tarikul Islam oh I hate Python with a passion :D But I bet it is great, a lot of people seems to like it

  • @wookoouk
    @wookoouk 11 ปีที่แล้ว +12

    I love Linus's (continued) work on Linux but I am a huge Java fan. Yes C is a fantastic language but for my interests low level programming is never required.

    • @kimkong9391
      @kimkong9391 2 ปีที่แล้ว

      Woohow to run java application in Android we need low level programming

    • @tanura5830
      @tanura5830 ปีที่แล้ว +2

      @@kimkong9391 yeah but you don't need to rewrite it people already did the low level programming stuff for us

    • @obiwac
      @obiwac ปีที่แล้ว +3

      He said "Java is a horrible language". Not "anything other than C is a horrible language".

  • @Pauli650
    @Pauli650 11 ปีที่แล้ว

    oh and perhaps i misunderstood your first statement but are you saying high level languages dont execute directly on the CPU? i.e. they are always interpreted? ??

  • @nukesforce
    @nukesforce 11 ปีที่แล้ว +68

    Coding a complex business application in assembly?
    - priceless

    • @meghanachauhan9380
      @meghanachauhan9380 2 ปีที่แล้ว +3

      It's actually not as hard as most people think. Most computer solutions are too simplistic

    • @virajpotdar8104
      @virajpotdar8104 2 ปีที่แล้ว

      @Felipe Gomes Yep🤣

    • @felipegomes6312
      @felipegomes6312 ปีที่แล้ว

      Super Mario World was written in assembly and only had 16 thousand lines of code. If it was written in java it'd probably have 84 thousand lines plus 750 classes and classes inside classes, and methods from interfaces declared in subclasses inside classes, etc.

  • @fernandizo
    @fernandizo 11 ปีที่แล้ว +33

    As a computer engineer I've used a crap load of programing languages. Comparing c, c++ and java is like beating a dead dog. Of course c runs faster than java if your c code is optimized well. Generally speaking the way most programmer write their c code its not and contains a BUNCH of redundancies and pit falls that may not be obvious to the best coder. Java may run a few miliseconds slower but its easier to write and contains a lot of checks c/c++ don't adding to debugging time in the hours.

    • @OpenGL4ever
      @OpenGL4ever 2 ปีที่แล้ว +1

      Rust is a great replacement for C and C++.

    • @obiwac
      @obiwac ปีที่แล้ว +1

      Okay but that's assuming C and Java are the only languages in existence. There are many other languages that fill the same need as java. He didn't say "anything other than C is horrible", he said "java is horrible"

    • @CoreDump451
      @CoreDump451 ปีที่แล้ว +1

      @@obiwac But why is Java horrible? What's the problem with it?

    • @roganjosh6220
      @roganjosh6220 8 หลายเดือนก่อน +1

      @@CoreDump451 (my understanding, not Linus's) ignoring the optimisation point (even though Java apps all seem to use the same shoddy slow unresponsive frameworks for typical apps), and the issue with over-verbose code (making programmers basically auto-correct champions instead of coders), the language fails to be simpler than low-level code by requiring OOP principles which make the code less readable (more esoteric, not C++ but still) and longer overall (file-per-class is ridiculous, patterns are not easier than C to learn and utilise properly).
      Other than that, unit testing is decent with all the classification you'll be doing, but effective implementation should probably be lazily done when errors arise to avoid productivity being halved by this task alone, making the focus of using Java for unit testing excessive when considering all it's other pitfalls stated here

  • @Bastro3000
    @Bastro3000 8 ปีที่แล้ว +121

    I don't know much about Java, but I do find its "Hello World" pretty ugly:
    class HelloWorld { public static void main(String[] args)
    {System.out.println("Hello, world!"); }
    }
    :S

    • @Bastro3000
      @Bastro3000 8 ปีที่แล้ว +52

      +Александр Василенко
      Piss off a Java fanboy: Check :P
      (write-line "Sue me :D")

    • @Sanchellios
      @Sanchellios 8 ปีที่แล้ว +1

      ***** is that all you can say, piece of shit?

    • @Bastro3000
      @Bastro3000 8 ปีที่แล้ว +23

      +Александр Василенко Just joking around. Go on and code with Java if that can make you feel any better. I couldn't care less! I know C++ pretty well and find it quite ugly too. That doesn't mean it's absolutely useless and unlikable :)
      class HelloWorld { public static void main(String[] args)
      {System.out.println("I'm outta here. Good night!"); }
      }

    • @Sanchellios
      @Sanchellios 8 ปีที่แล้ว +6

      ***** Talks about ugliness of the language is a strange thing. Languages are made to help you solve problems - nothing more. You want to write soft for the scalable servers - write in Java or Scala. You need to write native code for Android or drivers - write in C++. If you want to make your web-site interactive - write in JavaScript. If you want a true beauty of code - write in Lisp.
      (format t "Good Luck")

    • @nemanja747
      @nemanja747 8 ปีที่แล้ว +4

      +Sébastien Laberge It is a shity language

  • @roryb.bellows8617
    @roryb.bellows8617 ปีที่แล้ว +2

    Can't believe he said that to an Indian, that's like their second language

  • @vycma2971
    @vycma2971 2 ปีที่แล้ว +1

    i was very sad to see that because this guys was hero of mine it's really tough

  • @masrokstheworldandsoul6942
    @masrokstheworldandsoul6942 11 ปีที่แล้ว +4

    Thank you! You made me feel better about my decision to start with Java and then switch to C++ or C# (probably C++). I see quite a lot of people hating on it and I don't know if it is the better choice to learn first. Although even though C++ may be more powerful then Java I have been told that java is a lot more user-friendly for beginners (me) which got my hopes up. Java FTW!

    • @masrokstheworldandsoul6942
      @masrokstheworldandsoul6942 4 ปีที่แล้ว +1

      @MR MEME 6 years a bit too late my friend haha but thanks anyway. I still went with Java as my first language but ever since I started university I've used java, c++, php, javascript and I did do a bit of assembly but that was for programming a micro controller and it wasn't anything too in depth plus I've forgotten most of it lel.
      I understand now that picking a specific programming language and sticking with it is dumb though, in reality you use what you need for the job that you're doing.
      Thanks again for you input though, assembly has intrigued me and i've wanted to delve into it in my free time but I've been so busy lately, and their are a lot of other languages and tools i wish to learn first.

    • @masrokstheworldandsoul6942
      @masrokstheworldandsoul6942 4 ปีที่แล้ว

      @MR MEME Oh i see haha. Tbf, when I did it at uni I did struggle with it but the difficulty is half the fun (perhaps not for a first language). If you think assembly is bad though you should check out a language called Brainfuck, it has only 8 commands total. You'll soon understand why it got its name

    • @masrokstheworldandsoul6942
      @masrokstheworldandsoul6942 4 ปีที่แล้ว

      @MR MEME Oh, i didn't mean to say assembly was bad, it's still used even today I believe for the creation of certain operating systems. Plus, like you said since it's low level it's a lot closer to how a computer thinks compare to the standard high level languages (especially OOP). It's just the only interest I'd have in assembly is recreational because it's not really usable (or extremely difficult) for what I want to do.

  • @BryonLape
    @BryonLape 7 ปีที่แล้ว +4

    When did he talk about Java?

  • @shekcbanny
    @shekcbanny 5 ปีที่แล้ว

    But can you develop backend web, or other graphical ui app from C? Ie without atleast taking double the time than you would take in high level languages like Java???

    • @Darthvanger
      @Darthvanger หลายเดือนก่อน

      Why would it take the double time? Do you have to write more code in C?
      Javascript is similar to C, and it is popular for developing GUI.
      In Java you have to create a class for everything... How does that speed you up?

    • @shekcbanny
      @shekcbanny 29 วันที่ผ่านมา +1

      @@DarthvangerBecause C and C++ are close to metal than Java/Javascript and are more suitable for hardware programming rather than software programming. Because
      1: C compiles to native binary language specific to machine it runs on and hence is less portable compared to JVM ( or V8 ) or similar solution
      2. Memory management is manual so lot of extra code and care required just to make sure no memory leakage and error
      3. No useful framework and libraries (ecosystem ) for web application programming compared to other high level languages.
      By the way Python, Javascript, etc calls APIs written in C/C++ under the hood and are 'sufficiently' fast for 90% of apps out there

    • @Darthvanger
      @Darthvanger 29 วันที่ผ่านมา

      @@shekcbanny wow thanks for replying after 5 years of your original post 😅
      Agree about memory management, though I never really tried to code in C :)
      Regarding the UI libraries, there is GTK, it's for Gnome. I think it's more popular than Java or JS for Linux.

    • @shekcbanny
      @shekcbanny 28 วันที่ผ่านมา

      @@DarthvangerFor Operating System GUI development, Yes, C ( and C++ ) are (way) more popular. In system programming and hardware programming also (embedded, controller programming ,etc ) C is way more popular because of how close to metal it is ( can be mapped 1 to 1with assembly , manual memory management , etc ). However, it is not preferred for higher level programming ( web, desktop, mobile applications, backend, Data science, etc ) . In that space, it is mostly Javascript ( in the frontend as well as backend ) and Java/.net/python/Javascript/Golang, etc in the backend. And these kind of programming , I guess account for the vast majority of developers out there.
      Although the underlying technogies in those mentioned stack might be written in C/C++ (eg node.js internally has C++, python has C/C++, etc) but dev in these stacks dont have to worry those inner implementation details

  • @GathGealaich
    @GathGealaich 10 ปีที่แล้ว +1

    "And please, corner-case artifacts showing the JVM beating native code are just that."
    There are ways of improving performance of static native code in a JVM-ish way in C++ and Go - just use profile data to do speculative inlining and speculative specialization, perhaps with runtime guards. Go is actually a prime candidate for this kind of compilation as it's essentially designed to do closed-world linking (in C++, this still wouldn't work across shared libraries, but that's a price to pay).

  • @BigBobsh2o
    @BigBobsh2o 12 ปีที่แล้ว +3

    What I like about Java is that it's cross platform and fairly easy to learn.
    There are so many frameworks for languages like C++ (VC++, QT, GTK) that I really appreciate how everything is the same for Java no matter what platform you are writing for. There are plenty of great desktop apps like FrostWire, Eclipse, etc that are written in Java.

    • @friedrichmyers
      @friedrichmyers 6 หลายเดือนก่อน

      Write once, debug everywhere.

    • @terabit.
      @terabit. 4 หลายเดือนก่อน +1

      @@friedrichmyers you're uneducated !

  • @dantecolo4596
    @dantecolo4596 2 ปีที่แล้ว +5

    Java is crosscompatible and allows programmers to create many things faster , but if you compare java to c or c++ software , will always be slower and consume a lot more system resources.

  • @masrokstheworldandsoul6942
    @masrokstheworldandsoul6942 11 ปีที่แล้ว +1

    Although I have been told by people on youtube videos that it truly dosen't matter what language you start off with, as long as you are good with it and like it. I do want to start learning an object-oriented language now though.

    • @BumboLooks
      @BumboLooks 10 หลายเดือนก่อน

      That's a horrible idea.

  • @gerjaison
    @gerjaison 11 ปีที่แล้ว

    Does it matter whether some have a formal computer science education?
    Just for the record i have engineering background and i found being a programmer and a computer scientist are 2 different job descriptions.

  • @tomer073
    @tomer073 2 ปีที่แล้ว +4

    MY BOY LINUS SPITTING THE STONE COLD TRUTH

  • @HGeneAnthony
    @HGeneAnthony 10 ปีที่แล้ว +10

    Java was designed to be a language that was write once, run anywhere. The syntax was designed to appeal to C++ programmers but also to fix some weakspots in the language. In concept it was a good idea. I don't believe when it was released there were other languages designed with this goal. Once strength I have seen from Java IDEs is fantastic refactoring support. No other language seems to compare. It also seems well designed for big projects.

    • @honkhonk8009
      @honkhonk8009 8 หลายเดือนก่อน

      Yeah except fastforward to today, and litterally fucking everything runs linux lmfao.
      So realistically, wtf are you gonna do with Java even? For what conceivable reason would you be running apple/windows for anything but the desktop?

    • @ikhlasulkamal5245
      @ikhlasulkamal5245 8 หลายเดือนก่อน +1

      Dude, that refactoring support was implemented because it was horrible to refactor Java. Just try it on normal text editor and compare it with other languages

  • @BradenBest
    @BradenBest 10 ปีที่แล้ว +1

    Right! Java isn't for low-level details because it is specifically a High-Level Language. It is meant to abstract entirely from the CPU by running on an interpreter (the JVM) that is compiled instead. Port the JVM, and you port all of Java.
    Because of this abstraction, though, instructions in Java are slightly slower than direct machine language, and that penalty adds up to unbelievable heights when using it for complex operations like running a Kernel/Operating System, or Ray Tracing.

  • @TazG2000
    @TazG2000 10 ปีที่แล้ว +2

    OO has limitations that can make "solving business problems" difficult, which have led to best-practices and principles that are actually contrary to the basic principles of OO (like like "composition over inheritance"). The fact that "any business" is built upon it (which is not true) says more about the stubbornness of the businesses than the programmer. (cont. 2)

  • @michaelbruce4987
    @michaelbruce4987 8 ปีที่แล้ว +3

    I am learning OO with SOLID principals and TDD with Java right now. I am having a good time. I am sure I will learn many languages later. Right now though, Java is really cool.

    • @asuasuasu
      @asuasuasu 8 ปีที่แล้ว +1

      +Michael Bruce (CodeAmend) haha

    • @michaelbruce4987
      @michaelbruce4987 8 ปีที่แล้ว

      But.. I just switched completely to Python. For the last few months have been the most enjoyable programming experiences I have had so far. Python!

    • @MaxterTheTurtle
      @MaxterTheTurtle 8 ปีที่แล้ว

      +Michael Bruce (CodeAmend)
      I think Java gets more hideous the more you know about the language. Also if you're learning it in university, I've found they tend to go overboard with OO. Also, every design pattern has it's uses but also has drawbacks. There's a good balance especially when performance is considered.

    • @theshermantanker7043
      @theshermantanker7043 3 ปีที่แล้ว

      @@MaxterTheTurtle Java stays the same, really. In fact because of how strict it is errors can be much less painful to fix

    • @MaxterTheTurtle
      @MaxterTheTurtle 3 ปีที่แล้ว +1

      ​@@theshermantanker7043 There are aspects of Java that make it a good language. I prefer Java's statically typed variables over Python's dynamically typed variables. Having something fail at compile time is much better than having something fail at runtime IMO. While my previous comment was railing against OOP, I would rather work with Java classes/interfaces than C++ classes/pure-virtual classes.
      I somewhat disagree with Java being more strict with errors. Most modern languages are pretty comparable. I think that I favor how Rust/Go handle errors compared to C++/Java.
      I've programmed a lot in C since I wrote that comment. I would argue that C is one of the most stable languages out there. Programs link against symbols within libraries that are decades old.

  • @bluesdealer
    @bluesdealer 2 ปีที่แล้ว +5

    Who’s here for Log4j?

  • @cmaliaga
    @cmaliaga 11 ปีที่แล้ว +1

    Ok, now we understand each other :)

  • @prometheus0534
    @prometheus0534 5 ปีที่แล้ว

    Okay. Can anyone please make a Tutorial how to Program an OS?

  • @hansolo7988
    @hansolo7988 7 ปีที่แล้ว +150

    He hates every language except C. I agree though, Java's kinda bad.

    • @carlmarkanthony
      @carlmarkanthony 7 ปีที่แล้ว +5

      Well, I would have to say that it depends on where and what technology you'll use it, Larry Hall himself admitted that Java is still the elephant among programming languages and that is the cobol of the 21st century..

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 7 ปีที่แล้ว +10

      Comparing it to COBOL isn’t exactly a compliment...

    • @markm4603
      @markm4603 7 ปีที่แล้ว +2

      Mtl Java is the one reason why I won't ever buy an Android phone. ANDROID is Java abomination

    • @markm4603
      @markm4603 7 ปีที่แล้ว +1

      SWalkerTTU but the whole fkn os is one big java applet sitting in a jvm. you can call it dalvik you can call it ART i call it java.

    • @taragnor
      @taragnor 6 ปีที่แล้ว +5

      Yeah, I find the C purists weird. Especially the ones that seem to love C, but hate C++ for some reason I can't understand. Sure I mean, I'll accept why someone would prefer C/C++ because they care about speed, but the whole weird C over C++ debate always felt like pure computer hipsterism to me.

  • @andreasmoller1884
    @andreasmoller1884 3 ปีที่แล้ว +21

    Java is all about how you with every update, can force users to write even more code, to do the same tasks, that no longer works like they used to do.

    • @clammaster4
      @clammaster4 10 หลายเดือนก่อน +1

      i'm being held hostage, oracle wants me to tell you that theres java updates you havent installed please send help

    • @Brahvim
      @Brahvim 10 หลายเดือนก่อน

      Absolutely not the case...?!
      Immediate edit: Please offer me some examples.

  • @yusufasad
    @yusufasad 5 ปีที่แล้ว

    What's funny is that a Linux udemy ad played before this video

  • @coachgumby1421
    @coachgumby1421 11 ปีที่แล้ว

    Reminds me, there is this IDE written in Java called Eclipse that I tried, and it was so laggy and went and uninstalled it.

  • @rydohg
    @rydohg 7 ปีที่แล้ว +5

    I got a unskippable 1:20 long ad on this video. FML

    • @MarvinBlum
      @MarvinBlum 7 ปีที่แล้ว

      Reload page.

    • @rydohg
      @rydohg 7 ปีที่แล้ว

      Marvin Blum YT Android app

    • @Brickkzz
      @Brickkzz 7 ปีที่แล้ว +1

      Ryan, next time leave the video (back button) and then get back to it. Advert should be gone.

  • @zollen123
    @zollen123 10 ปีที่แล้ว +22

    It would really help if he could elaborate why Java is such a horrible language...

    • @LemonPieLoL
      @LemonPieLoL 10 ปีที่แล้ว +12

      Because it's anything but simple. The VM is also prone to a flaw or two.

    • @TheAtheistScientist
      @TheAtheistScientist 10 ปีที่แล้ว +9

      LemonPieLoL When you code in c++ programmer is prone to a flaw or more

    • @zollen123
      @zollen123 10 ปีที่แล้ว +16

      Linux is not a religion, stop worshiping that guy.

    • @LemonPieLoL
      @LemonPieLoL 10 ปีที่แล้ว +4

      *****
      Python. Lol.
      Stephen Kong find me a better prophet and ill worship him instead.
      Common Man True, but at least that's within your control. Just to clarify.. I don't actually hate Java.

    • @gl_tonight
      @gl_tonight 10 ปีที่แล้ว +1

      He did, it's because google was sued for using it years after they had blessing to do so.

  • @loki6841
    @loki6841 7 ปีที่แล้ว

    whats his views on javascript

  • @wolverine9632
    @wolverine9632 2 ปีที่แล้ว

    That sip from the cup was the ultimate burn

  • @wendellbalagot7660
    @wendellbalagot7660 2 ปีที่แล้ว +3

    This linus guy seems capable, i think he can build his own kernel.

  • @desperateloner8555
    @desperateloner8555 ปีที่แล้ว +3

    Look at all these language experts in this comment section

  • @OverG88
    @OverG88 11 ปีที่แล้ว

    I'm specialized for business information systems. Knowlege of programming is crucial. And I also finnished high school for electrical engineering. So I'm very familiar with electronics and microprocessor architechture. :)

  • @OverG88
    @OverG88 11 ปีที่แล้ว

    Haha...I must admit thats partialy truth. Some, just some systems run on Cobol, yes. When I've spoken with one of database admins in local bank in my town, he said that every bank and insurance company in our town runs on Java technologies. He also got few propositions from German companies, since acording to him, demand for Java devs in Germany is tremendous.

  • @agilasadi5044
    @agilasadi5044 3 ปีที่แล้ว +4

    I think java was pretty good for it's time. Especially being able to build multi tenant applications so easy is pretty good. Java is being outperformed by a lot of other languages in current ecosystem, but back than it was one of the best if not the best solution for most of it's capabilities.

    • @iceron1720
      @iceron1720 2 ปีที่แล้ว +7

      Java is actually widely used today still.

    • @CoreDump451
      @CoreDump451 ปีที่แล้ว +1

      @@iceron1720 I'd argue it's become way better than it ever was.

  • @PietroNardelli
    @PietroNardelli 7 ปีที่แล้ว +5

    I respect his opinion but Java can offer everything from default without the addition of external libraries, gui, graphics, Web. Now for kernel and hardware programming Java is not a good language.

    • @sefosf3402
      @sefosf3402 7 ปีที่แล้ว +6

      "Java can offer everything from default without the addition of external libraries" Tell that to my maven repo...

  • @SeanAubrey
    @SeanAubrey 10 ปีที่แล้ว

    Thank you for actual advice, and not banter.

  • @darkemg
    @darkemg 10 ปีที่แล้ว +1

    Well, good for Java, then (PHP is also going to implement lambdas in one of its next release, yay). Sure, a language that can support more than one paradigm; that's one of the reasons why Javascript is so popular, despite its many problems - it's a very expressive language, you can write, procedural, OO (both prototype and classical OO with the help of libraries like YUI or Dojo until ES 6 implements classes natively), or functional.

  • @PaoloMaresca
    @PaoloMaresca 10 ปีที่แล้ว +11

    Sometimes it's funny to listen Torvalds talking about a bunch of stuff! He's so proud of him, he's so convinced abut himself and his thoughts that's awesome to listen from him!

    • @nando_br
      @nando_br 2 ปีที่แล้ว +1

      And it is.

  • @sheev4958
    @sheev4958 2 ปีที่แล้ว +3

    I agree with him, the same way i think Linux experience on desktops are painful

    • @xCwieCHRISx
      @xCwieCHRISx 2 ปีที่แล้ว

      yea just use linux on your smartphone trolololol

    • @sheev4958
      @sheev4958 2 ปีที่แล้ว +1

      @@xCwieCHRISx i use iPhones, and Apple systems are also UNIX but not Linux, they're all based on BSDs. get some research.

    • @kvin9210
      @kvin9210 2 ปีที่แล้ว

      @@xCwieCHRISx Android is NOT Linux ffs

  • @LthiagoR
    @LthiagoR 3 ปีที่แล้ว

    How fun, so many Java experts on the chat...

  • @BruceCarbonLakeriver
    @BruceCarbonLakeriver 9 ปีที่แล้ว +1

    Fully agree this video title... well I gotto watch now :D

  • @jcanimus6700
    @jcanimus6700 8 ปีที่แล้ว +7

    Yet Java has the most jobs available?

  • @affvaf5350
    @affvaf5350 10 ปีที่แล้ว +5

    U know, i'm a java (and other languages) prog. I'm just eating some popcorn and enjoying the comments. THE FLAMES ARE EVERYWHERE :)

    • @I33nc3
      @I33nc3 2 ปีที่แล้ว

      They Hate Us Cuz They Ain't Us :D

  • @shipcommanderlol6577
    @shipcommanderlol6577 2 หลายเดือนก่อน

    I would love to see Linus vs Notch as in C vs Java debate.

  • @TheXenoEnder
    @TheXenoEnder 11 ปีที่แล้ว +1

    I agree the .NET CLR definitely took a lot of Java's ideas, but they also learned from their mistakes. Since the inception they have traveled different directions and I don't believe .NET can really be considered a "rip-off" anymore, since it has many language features Java does not, and Java has since introduced features .NET had in version 1 (Annotations = Attributes, for instance). That said, I certainly don't blame you for paying the bills.

  • @IARRCSim
    @IARRCSim 11 ปีที่แล้ว +15

    A programming language is best picked from project requirements but Java has some really strong advantages over c and c++. It is way easier to debug in Java than c/c++ and Java has no header files. Printed stack traces are far easier to work with than segmentation faults and randomly initialized variables. The java compiler is more predictable too since you compile somewhere and you don't have to worry about some VC++ or other compiler giving different warnings/errors.

    • @the-pink-hacker
      @the-pink-hacker ปีที่แล้ว +1

      I’m so glad that Rust is becoming the best of both worlds now

  • @JesseMaurais
    @JesseMaurais 10 ปีที่แล้ว +10

    From my first experience with Java I had decided that making a purely object-oriented language was a bad move. That was almost 15 years ago and I haven't changed my mind. There's nothing that I could write in Java that I wouldn't rather do in Python or C++ depending on the context of the problem to be solved.

  • @TheXenoEnder
    @TheXenoEnder 11 ปีที่แล้ว

    Many Win32 APIs are no longer supported in Win7/8. I don't find this to be any more forward thinking than using an additional layer of abstraction to insulate you from OS change. Also, I have had my fair share of versioning issues with Java, but I have not had any issues with installing versions of .NET (though I imagine somebody must have). Then again, I do read the directions

  • @LiamMayfair
    @LiamMayfair 10 ปีที่แล้ว

    That's just in the frontend. In the backend, i.e., the code running on the servers, not on your computer, all of them use PHP, Facebook also uses C++ for compute-intensive chores, TH-cam might well Java and C++ glued together with some Python...

  • @EddieKMusic
    @EddieKMusic 11 ปีที่แล้ว +3

    Cool, I myself am developing few games for android now :)
    Great platform :)

  • @TazG2000
    @TazG2000 10 ปีที่แล้ว +4

    Lambdas and closures are features that are invaluable regardless of whether your application is predominately "OO". Most Java users WILL need to write in a functional style in certain cases, and will find it a pain in the ass to have to fit it into the "OO-only" clunkiness. There's no rule that says languages need to support one and only one paradigm, and in fact these features are (finally) being added to Java in the next version.

  • @Pauli650
    @Pauli650 11 ปีที่แล้ว

    I’m not sure it matters -- I have worked with some great programmers that are not formally qualified and some horrible ones too --- but read the guys response....i just was curious to see if perhaps he did have some kind formal education and still had a response like that.

  • @steveski74
    @steveski74 10 ปีที่แล้ว

    I don't mind the language itself, but it's way to involved trying to deploy anything with the thing. Ever tried making a minor config change in a .ear file for WebSphere? You have to recompile the thing which takes forever, plus the convoluted deployment process.

  • @solukrebut
    @solukrebut 10 ปีที่แล้ว +8

    Java is in a sense like Windows.
    It has a lot of things to make it easy to work with. But once you start trying to do anything fancy, the same things actually bog you down and you have to find solutions to go around them.

    • @Brahvim
      @Brahvim 10 หลายเดือนก่อน +2

      As somebody who is... _actually_ writing a game engine in Java, this is actually very true!
      I like the language and everything about it, but it just isn't enough sometimes.

  • @mickstarify
    @mickstarify 12 ปีที่แล้ว +8

    Well i was introduced to OOP through Java. Also I've been doing alot with Android so i guess its grown on me.

  • @jnb257
    @jnb257 11 ปีที่แล้ว +2

    I agree with you but C++ templates have one thing superior than Java, imho. C++'s implementation of templates allow you to use templates with "primitive" types like int, char, etc. where you can only use reference types in Java Generics.
    This can cause a performance hit as primitive types are much faster than their boxed reference counterparts.

  • @massimoheitor1924
    @massimoheitor1924 10 ปีที่แล้ว +2

    If you can learn Scala or Haskell, they offer way syntax for expressing program logic than Java, but those might be too much for regular programmer types. Linus also said that C/C++ are horrible. I wonder what he likes?

    • @liblevi45s53
      @liblevi45s53 10 ปีที่แล้ว

      Well Linux is made of C and modern programs designed on Linux use either C or C++. So if Torvalds did not like C he probably wouldn't have written the Kernel most likely -- unless it was needed -- but why would he know the language if he didn't like it?
      Other programming languages have different features, however you get the most power of C/C++ with a mixture of assembly if needed. Low end programming languages cannot provide such features and must rely on it's own code and the platform it runs on in order to function -- the performance of the kernel with the language's actual code that it runs will perform differently depending on how many layers between the desktop and the kernel the language itself contains. The overall performance will be different based on the hardware and the software's code.
      Meanwhile C w/ Assembly you can access hardware directly, or request hardware information rather then passing through multiple layers before returning with the result. It can also create a bootable system in which does not require an Operating System to run, just a computer that can boot it up with drivers that work with your hardware in your own code to be compatible with the kernel.
      Lower end languages such as Java & Haskell cannot create bootable operating systems, or programs outside of the operating system -- Android is also an operating system that's used in phones.
      There's no perfect language, but there's languages that are more powerful and reliable then others.
      However, I have yet to see a video about him explaining that C/C++ sucks. If it wasn't for these two languages existing a lot of games today probably would not exist.

    • @daoduyducduong
      @daoduyducduong 10 ปีที่แล้ว +2

      He likes C. He just hates C++ and pretty much everything else.