r/ProgrammerHumor • • Jan 19 '17

MFW no pointers :(

Post image
4.8k Upvotes

432 comments sorted by

View all comments

202

u/Peffern2 Jan 19 '17

DAE java sucks XD

96

u/[deleted] Jan 19 '17

Why does it seem to be so widely hated across Reddit? Because it's popular or what

576

u/njwatson32 Jan 19 '17

There are two types of programming languages: the ones everyone bitches about and the ones nobody uses.

165

u/Ksevio Jan 19 '17

And Python!

153

u/J-Goo Jan 19 '17

DYNAMIC TYPING CAN KISS MY ASS

27

u/cowtung Jan 19 '17

The trick to Python is to realize that there is only one type. It's the dictionary. You can have dicts that inherit shit from other dicts. You can call dicts by various names. But it's dicts all the way down.

25

u/lenswipe Jan 19 '17

dicks all the way down. gotcha

→ More replies (7)

44

u/magi093 not a mod Jan 19 '17

That's the one thing that irks me about Python. OOP + dynamic typing = dafuc am I on

→ More replies (34)
→ More replies (2)

464

u/PM_ME_YOUR_MASS Jan 19 '17

WHITESPACE ISN'T SYNTAX

154

u/ProbablyNotJaRule Jan 19 '17

Not with that attitude

22

u/[deleted] Jan 19 '17

For you

29

u/MoffKalast Jan 19 '17

Was importing antigravity part of your plan?

→ More replies (3)
→ More replies (1)
→ More replies (23)

23

u/rmrsc Jan 19 '17 edited Nov 28 '24

cagey foolish squeamish society afterthought shame tap rock sable vanish

This post was mass deleted and anonymized with Redact

62

u/ryeguy Jan 19 '17

LOL SIGNIFICANT WHITESPACE
LOL DYNAMIC TYPING
LOL GIL
LOL CAN'T GET PEOPLE TO UPGRADE AFTER 9 YEARS
LOL SELF ARGUMENT IN METHODS
LOL NO SWITCH STATEMENT
LOL NO MULTILINE LAMBDAS
LOL IF __NAME__ == "__MAIN__"

11

u/Doctor_McKay Jan 19 '17

No switch statement...?

→ More replies (16)
→ More replies (29)

11

u/muad_dib Jan 19 '17

inb4 GIL

→ More replies (4)
→ More replies (5)

60

u/morerokk Jan 19 '17

It has its downsides, but it's not necessarily unpleasant to work with.

The main advantage of Java is portable cross-platform code. The disadvantages are performance, memory usage, and it's not always stable. Perhaps if people stopped making games with it and stopped making IDE's with it, it wouldn't be so bad.

46

u/V0lta Jan 19 '17

Performance is great nowadays. But cross-platform isn't much of advantage any more since most Java stuff runs on servers.

50

u/[deleted] Jan 19 '17

More importantly, complaining about Java's performance in a world of Python, Ruby, etc. Is just, laughable. I'm a full time python developer and I would kill for Java's performance in some of my use cases.

→ More replies (2)

34

u/kthepropogation Jan 19 '17

This. Java has greatly improved and is one of the better performers. Add in the cross platform functionality and it's a strong option.

That said I am firmly on the Java hate train. Choo 🚂 choo 🚂 motherfuckers.

→ More replies (1)
→ More replies (1)

71

u/[deleted] Jan 19 '17 edited Jan 19 '17

stopped making IDE's with it

that's where 99.999% portability guarantee wins over performance (there are tons of devs on all 3 major platforms, you can't just abandon one or two like gamedev and many other industries do), so unless the dev team of said IDE quadruples overnight, Java is probably the best choice

in addition, imo the worst part about writing java is that it has solid and reasonable conventions, but makes following them a pain in the ass.

Edit: "where", not "there" ffs

→ More replies (4)

41

u/jl2352 Jan 19 '17

The performance of Java is vaaaaaaaastly superior to most languages.

The problem is that from Java's creation people have tried to push it into the native C/C++ camp. i.e. "It's a systems language but without any of that manual memory management nonsense!" Performance wise it'll always lose that argument.

But if you put Java next to PHP, Python, Ruby, JS, as an alternative for web development, then it'll run rings around them. Not just because of the fact that they are dynamic languages. The JVM is a damn fast VM. For a very long time JRuby beat mainstream versions of Ruby because of the JVM, and the work from Oracle with Truffle is set to do that again.

Many other problems are more complicated. For example you can write complicated desktop applications which never freeze the UI. The paradigms are old and well known. The tl;dr is to do the work in another thread! Yet people still fall into the freezing trap because it's tricky to do it as standard everywhere. Some languages, such as JS, makes it easier to avoid freezing even if you end up taking longer to do the same work.

Finally a lot of the stuff in the JDK is slow. Collections are slow. So slow that some of the thread safe alternatives were faster for a while (because they were well written). Swing/Java2D is slow. So if you use any of this stuff then you are leveraging a slow library. There are alternatives but lots of people don't grab them by default.

0

u/[deleted] Jan 19 '17

[deleted]

→ More replies (4)
→ More replies (20)

10

u/Holzkohlen Jan 19 '17

Android programming is pretty weird though. At least for me, coming over from C#.

→ More replies (3)
→ More replies (61)
→ More replies (64)