Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

Why does /prog/ hate Java?

Name: Anonymous 2007-06-12 19:04 ID:n8LnmR6f

So, /prog/, why do you hate Java so much?

Name: Anonymous 2007-06-12 19:05 ID:fh78P/t5

>>1
Because it sucks

Name: Anonymous 2007-06-12 19:14 ID:n8LnmR6f

>>2
Ah, thanks for enlightening me

Name: Anonymous 2007-06-12 20:23 ID:DiefY/4h

>>2
That was EXPERT PROGRAMMER quality!
I am the 1/0 of my GET.
LISP is my body, and SICP is my blood.
I have created over 999 HUGE programs that you couldn't even comprehend.
Unaware of Python.
Nor aware of Ruby on rails.
Withstood the forced indentation of the code to create many touring-complete programs.
Waiting for an EXPERT PROGRAMMER's arrival.
I have no regrets, this was the only path.
My whole life was /prog/.

Name: Anonymous 2007-06-12 20:58 ID:Axisp8Sx

All interpreted (yes, that includes .NET) languages other than QBasic suck - no exceptions (other than QBasic).

Name: Anonymous 2007-06-12 21:21 ID:igVvu1/G

>>5

Really? So what about compiled Java?

Name: Anonymous 2007-06-12 22:14 ID:ngyeES3d

I kind of like Java nowadays. Performance is acceptable (although memory use still bother me), and I've gotten used to the verbosity.

Name: Anonymous 2007-06-12 22:47 ID:CeQOsOXw

we don't like it because it lacks abstractions and it's too verbose. Not only that, but it was arguably the first language that got popular thanks to marketing, not quality.
Then again, Java, for what is meant for, it's very good. It was meant as a bondage language for average programmers at big companies, a replacement for c++, which was quite popular at the time, if i'm not wrong. The guys at the big companies noticed there was a language better than c++ for what they were trying to do, so they embraced java. but java was never a good language.

Name: Anonymous 2007-06-13 2:49 ID:gXXHvvn4

Some people sees java as a scripted language (applet -> virtual machine/platform *cough*) and you know what kind of reputation scripted languages made for themselves...

Name: PERL 2007-06-13 2:58 ID:Heaven

>>10
to be greatly superior and useful?

Name: Anonymous 2007-06-13 4:47 ID:8/uv1if0

My god, I'm >>2 and you've all mentioned retarded/irrelevant/wrong stuff.

I don't fucking care it's interpreted. I don't fucking care people calls some languages "scripting languages" and thinks worse of them because of a name (what do you think these people are for labelling, then judging by labels?). I don't fucking care it's slower than C/Asm (any language other than C/Asm is slower than C/Asm, that's the point: a contract trading execution speed for development speed and fun, which saves lots of money because developers are more expensive than hardware).

Java's problems and the reason why I said it sucks are:

1. Lame ass object system shoved up your ass because the language doesn't properly support any programming paradigm: not good OO (not even decent), not good good old imperative (objects up ass), functional programming not (really) possible, others absolutely impossible. You can't model your application properly when the language designers are forcing stupid rules on you. Lacks multiple inheritance. Interfaces are a stupid hack to make the lack of multiple inheritance look less bad.

2. Yet built-in types are not objects. Way to go. This introduces wrapper classes (which are pure shit) and difficults heterogeneous collections.

3. Static typing with all sorts of anal rules that don't really reduce development or debugging time, don't really make stupid programmers write reliable code, and really pisses some smart programmers off.

4. Lacks builtin lists or dictionaries.

5. Lacks many advanced features you'd ask of a modern language which attempts to be productive: first class functions, first class classes, anonymous functions (now it has anonymous classes, not the same, objects up ass, etc.), static nested scoping (closures), mixins, introspection, dynamically created and modified functions, classes, and inheritance, ...

6. Can't override operators. If you think implementing a method "add" is less potentially dangerous than implementing an perator or method "+", you're pretty fucking stupid.

7. The standard library is a stinking fucking piece of shit, the worst ever created by man. It's pure blOOat, making you create three instances of three different classes just to open a fucking file! And have a look at the two failed attempts at dates and the second one's class hierarchy! Factory classes are pretty fucking stupid! sin, cos, tan are not methods! "a".equals("b") is pretty fucking ugly (and a result of not being able to overload operators)! It's all full of stupid shit and insanity, it's hyperstructured, it's overgeneralized, it's ENTERPRISE.

8. It encourages terrible programmers and terrible ways which they call "best practices", "enterprise-grade software" and "code patterns". There's a whole universe of wankery over the worst pieces of shit ever designed by man. Best practices considered harmful.

9. In practice, it's terribly unproductive. Anything written in pretty much any other high-level language, from Lisp to Python, from PHP to Perl, from OCaml to Haskell is 5-10 times shorter, 5-10 times faster to write, 5-10 times easier to maintain, and 5-10 times more flexible.

10. Its world is full of businessspeak, pointy-haired managers (all worthless), and retards who went for a 20 hour Java "programming" course and think they can code. It has a terrible community, I'm starting to think even PHP "designers" are better. And every site talking about Java doesn't say (or know) shit, and is all about "scalable enterprise-grade Web 2.0 XML-based AJAX-based professional n-tier business solutions", "discovering business logic", "lowering the Total Cost of Ownership", "optimizing cash flows", "converting visitors into customers", "maximizing profits", and "best-practices".

Name: Anonymous 2007-06-13 9:48 ID:kdKrVbCq

It did one thing good at least,
class blah
{
 int foo;
  class bloo
  {
     bloo()
     {
       foo = 12;
     }
  }
}

I can't remember the syntax exactly (been a long time since I did Java) but that is cool, I wish c++ had it.

Name: Anonymous 2007-06-13 10:23 ID:9ianfUVn

It's pure blOOat, making you create three instances of three different classes just to open a fucking file!

OH NOES! May I see a code, so next time I see a Javaphile I thrust it under his nose as a real example of the enterprise-class stupidity?

I remember something with Observer-Producer-Factory crap for displaying simple static images in applets, but that was long time ago... And I forgot almost everything about Java (except that it sucked hard, lol) since then.

Name: Anonymous 2007-06-13 11:07 ID:Heaven

s/Observer-Producer-Factory/Observer-Producer-Consumer/;

-- >>13

Name: Anonymous 2007-06-13 15:34 ID:Heaven

Useless-Shit-Factory, that's what java is.

Name: JavaFag 2007-06-15 0:53 ID:OPZSkzyA

2. Yet built-in types are not objects. Way to go. This introduces wrapper classes (which are pure shit) and difficults heterogeneous collections.

Wrappers are no longer required, as of Java 6. Just letting you know.

So, now that I've completed my high school's AP Java courses, what languages would you suggest as a step away from Java? As of right now I have some minimal experience in Python and LISP (Scheme flavored), but that's it.

Name: Anonymous 2007-06-15 1:14 ID:5usY12dj

>>16
Smalltalk for a taste of OOP done well

Name: Anonymous 2007-06-15 1:41 ID:ypQovBWS

>>Wrappers are no longer required, as of Java 6. Just letting you know.

Wow. Only took 6 iterations to fix.

Name: JavaFag 2007-06-15 1:45 ID:OPZSkzyA

I'm not sure it was six. They jumped from, like, 1.5, to 5, and from there to 6.

Don't ask.

Name: Anonymous 2007-06-15 4:11 ID:yKkMYy9n

>>16
If you're interested in low-level or performance-critical stuff, learn C with K&R. Not C++, it sucks. C. C is the real thing. Regardless of how badly does C suck as a language, I think everybody should be able to do C.

Then you're ready to learn programming. Read SICP, achieve Satori. Once you get spiritual enlightenment, you need a practical language for your everyday work, scripts, applications and web sights. For that, learn Python, using Guido's tutorial. It should be easy. It'll also have a real object model and you'll relearn OOP and find it decent for the first time.

Then, if you want to be a purist fapper, learn Haskell for FP or Smalltalk for OOP.

Name: Anonymous 2007-06-15 12:18 ID:7FaRRQ/T

Java rocks for its large standard library, where you have a lot of commonly used functionality all ready and well documented.

The rest is shit, though.

Name: Anonymous 2007-06-15 13:07 ID:DbZomqRy

>>19
Someone hasn't been around long enough to remember that Java 1.2 was Java 2 just like Java 1.5 was Java 5.

(J2SE 1.4, yeah, that made fucking sense)

Name: Anonymous 2007-06-16 6:35 ID:lME5lQJZ

>>16

sadly any other language...i'd rather learn VB than java.  in all reality i'd say C/C++ similar(in some sytax ways) but so fucking better than java

Name: Anonymous 2007-06-16 11:16 ID:UulUIcNa

>>23
i'd rather learn VB than java

I used to think that, until I got a job maintaining VB. I only lasted 6 months before burning out, and I'm still on prozac a year later. As bad as Java is, it's definitely preferable to VB.

Name: Anonymous 2007-06-16 12:31 ID:CKbEHhif

The only good thing about Java is Javadoc lulz

Name: Anonymous 2007-06-16 14:21 ID:DOidaG7H

I'm starting a job mantaining an old software, a mix of java, oracle, and perl.
wish me luck.

Name: Anonymous 2007-06-16 14:41 ID:pljGHP7B

>>21
The standard library is one of the worst things about Java. It's so clumsy, stupid, and overengineered you want to do things by hand instead of using it.

>>23-24
Right now, VB is a superior language. I've seen lambdas on it. This is something simply out of Java's reach; not in a million years will Java have any feature half as useful.

Name: Anonymous 2007-06-16 16:12 ID:dakfJCrO

The standard library is one of the worst things about Java. It's so clumsy, stupid, and overengineered you want to do things by hand instead of using it.
I used to think like this. Recently I've started really doing things the way the libraries want you to, and it's not quite as bad as I'd thought. I spend a bit more time typing initially, and reading the documentation, but it tends to simplify things along the way, and it really helps with maintainability.

Is there currently a functional language with readily available libraries as extensive as Java's?

Name: Anonymous 2007-06-16 16:34 ID:Heaven

Is there currently a functional language with readily available libraries as extensive as Java's?
No.

Name: Anonymous 2007-06-16 16:38 ID:Heaven

Python/Perl/Ruby etc.

Name: Anonymous 2007-06-16 16:51 ID:Heaven

>>28

Just try writing a decent GUI in Java.

Name: Anonymous 2007-06-16 18:07 ID:Heaven

Is there currently a functional language with readily available libraries as extensive as Java's?
F#

Name: Anonymous 2007-06-16 20:56 ID:U0hJeQkU

>>31
It's as easy as shit, what are you talking about? Sure you have to put a little thought into it, but it's incredibly easy.

Unless, bitches don't know about Swing?

Name: Anonymous 2007-06-16 21:20 ID:gvopkIaB

TYPE ERASURE SUCKS MAJOR ANUS

Name: Anonymous 2007-06-17 5:14 ID:Heaven

shit
keyword.

Name: Anonymous 2007-06-17 5:18 ID:Heaven

>>19
1, 1.1, 1.2, 1.3, 1.4, 5, 6

oh wow, you're right, it's not 6, it's 7!

Name: Anonymous 2009-01-14 14:24

ENTERPRISE QUALITY

Name: Anonymous 2009-01-14 14:52

1. Java's library is badly designed and not intuitive to search through. Contrast with the .NET library, which is logically arranged, making it easy to search for whatever you may want with Intellisense.

2. Java does not advance at a fast rate, and even when new features are added, they're done in a half-assed way.

For example, when Java added generics, they didn't update the JVM to really support them, so List<int> is really just an old-fashioned, type-unsafe List when compiled. Contrast this with Microsoft, who thought that generics were so important that they warranted real VM-level support and not be a language hack.

Another example is some of the ideas for adding properties to Java, one of which includes adding an arrow operator for accessing properties. C#, on the other hand, has had properties since 1.0, and they work great.

While the Javatards are debating whether or not to add closures and properties, C# has already gotten them, as well as lambdas and language-integrated queries. Try and do this in Java:


var list = new List<int>();
var rand = new Random();
for(int i = 0; i < 100; ++i)
    list.Add(rand.Next(100));
var inRange = list.FindAll(x => x > 10 && x < 20);
var inRangeLinq = from x in list where x > 10 && x < 20 select x;
foreach(var x in inRangeLinq)
    Console.WriteLine("{0}", x);


3. This is minor, but Java packages must be laid out physically as they are syntactically, so if your package is named "com.somecompany.productx", then you have to put the code in "com/somecompany/productx". There's probably a way around that, but it would probably be looked down upon by Javatards. In .NET, you can specify a namespace without caring where the file is.

Name: Anonymous 2010-11-29 15:06

dicks

Name: Anonymous 2010-11-29 15:08

>>38
I hope that code example wasn't to show how Seshurp is superior. That looks even worse than some of the shit I've had to write.

Name: Anonymous 2010-11-29 15:27

var inRangeLinq = from x in list where x > 10 && x < 20 select x;
If I wanted to write SQL queries, I'd write SQL queries.

Name: Anonymous 2010-11-29 16:08

>>41
Actually, I was thinking that was some kind of list comprehension until I got to the select.

in_range = [x for x in l if x > 10 and x < 20]
Or, if you prefer,
in_range = [x | x <- l, x > 10 && x < 20]
Of course Seshup has to fuck up perfectly sane and natural syntax by making it resemble one of the most hideous languages around. I guess that sort of garbage appeals to them.

Name: Anonymous 2010-11-29 16:15

(And by the way, >>38 is quite possibly uglier than all of the languages with which I am familiar. What is that new List<int>() shit?)

Name: Anonymous 2010-11-29 17:14

ENTERPRISE QUALITY

Name: Anonymous 2010-11-29 18:25

Try doing this in Java:
   delete x;

Name: Anonymous 2010-11-30 15:50

I am an ENTERPRISE PROGRAMMER

Name: Anonymous 2010-11-30 17:18

>>45
C++ is a bad language and you should feel bad for being an inferior C wannabe

Name: Anonymous 2010-12-17 1:39

Are you GAY?
Are you a NIGGER?
Are you a GAY NIGGER?

If you answered "Yes" to all of the above questions, then GNAA (GAY NIGGER ASSOCIATION OF AMERICA) might be exactly what you've been looking for!

Name: Anonymous 2010-12-17 1:40

FOLLOW THE NEW GNAA TWITTER AT http://twitter.com/Gary_Niger

Don't change these.
Name: Email:
Entire Thread Thread List