Java Sucks without semantic awareness

Discussions

News: Java Sucks without semantic awareness

  1. Java Sucks without semantic awareness (47 messages)

    A conversation with someone highlighted yet another problem with Java, a fatal one: Java's lack of semantic awareness. Without this, coders are unable to use examples from the web, lessening whether Java is actually usable or not. Here's a representative sample of the conversation:
    What I want is x.contains(y).
    That's the method name that the Collections API provides, though, and it does exactly what you say you want.
    But my collection isn't named 'x'!
    This is a clear example of where Java, had it understood that when the first person said 'x.contains(y)', he meant to use his collection name, would have been able to compile and execute the code properly. He would have been able to find an example on the web using contains() and cut and paste it, et voila! Executing code. Java needs semantic awareness. Without it it will die. Incidentally, folks, in case you can't tell: there's a large dose of humor being applied here. I don't think ANYONE thinks Java is going to die, regardless of 'semantic awareness' or whatever. Message was edited by: joeo@enigmastation.com

    Threaded Messages (47)

  2. This would be a major change and would destroy the clarity and simplicity of the Java programming language.
  3. This would be a major change and would destroy the clarity and simplicity of the Java programming language.
    But at least it'd be better than scala or haskell then, right? At least better than erlang?
  4. This would be a major change and would destroy the clarity and simplicity of the Java programming language.
    But at least it'd be better than scala or haskell then, right? At least better than erlang?
    You should invent a new language that has your desired feature and go and use that. Stop bothering me, I have three NullPointerExceptions and a heisenbug to solve.
  5. Some very insightful thoughts here. I think it's very important that we identify all of the specific symptoms leading to Java's imminent demise and this is clearly a very important one. Let's face it, the only question now is whether it will die a slow, painful, drawn-out death or a quick, painless one. I personally think that as technical people we should employ some logic and speed Java towards a painless, express death. We can contribute to this goal by evangelizing better languages (particularly faster ones) and supporting the inclusion or exclusion of features that will contribute to a general rebuke of the language. Let's all band together so we can move on to a proper, modern language where our opportunities will be much more varied and plentiful. Surely you're all tired of the daily grind and would like to try something new. I hadn't yet been able to verbalize the complaint that Joe has expressed here but I thank him for beating me to the punch. How can we expect to survive if non-programmers can't use our language?
  6. So you are saying that a non-programmer should be able to use a programming language? What benefit will this bring to society?
  7. All your reactions and answers shows your expectations towards semantics in programming. My dear friend, semantics alone cannot make the language die .
  8. NLP is different that that of CPL. Dont invent a new word "symantic awareness" to describe what you think. There are 100 of spoken languages and dialects so first think what you are saying? Then offcourse you can whisper to someone and do not put to TSS if you are not convinced yourself...
  9. NLP/CPL - where did that come from?[ Go to top ]

    Ignoring the fact that the original post wasn't meant seriously, I am not quite sure how it can lead to a comparison of neuro-liguistic programming and computer programming languages (if that is what NLP and CPL is standing for)?? And in all fairness "semantic awareness" is not a newly invented word. It is a concept that is applied in all sorts of areas. In software solutions it is probably mostly used when it comes to textual content management systems.
  10. NLP[ Go to top ]

    I think NLP in this case probably means Natural Language Processing rather that Neuro-Linguistic Programming. I might be wrong though
  11. Well, I think you need to understand semantic too. Even in human conversation, all talks are in context. Saying x.contains(y) will be undestood differently in a fisherman conversation than in military infantry's one. There you have it, you must understant x first to invoke its contains() method. I think talking of x.contains(y) out of the blue without any prior knowledge of x leads to misunderstanding and hard to understand code. Remember you do not code for yourself, one day you will be dead and someone else has to maintain your code. Weird code will have early death, readable code will survive.
  12. I totally agree with Rene. Every programmer needs to understand the context in which his or her code is executing. Thoughtless cut-n-paste'ing is the death of Java, not some API quirkyness. It devalues your lines of code.
  13. Sorry, but this is one of the most boneheaded topics ever. Java will die because of something stupid like this? I can't believe this even made it to TSS? Do you guys employ any editors who screen content before it is posted? Personally, I think Java will die because it does not make coffee for me in the morning. Can I make that a main article on TSS too?
  14. semantics without context is about as useless as not having it at all...why can't you just say "Collection x.contains(Object y)"? Cannot be any clearer...
  15. Java will die because of people (and articles) like this.
  16. Java will die because of people (and articles) like this.
    See, I KNEW it!
  17. Java will die because of people (and articles) like this.
    See, I KNEW it!
    Hey, you're right. C, VB.NET and PHP all died the same way.
  18. Oh no!!! We can not copy paste code into our mission critical software from programming examples? :-D
  19. Why does TSS allow articles like this? There is a point to be made and fair enough, but come on, "Java is dead" "Java sucks" "Ruby rocks", it's getting boring!!!!! Try and be more academic about posts - and TSS, please try and filter out this kind of rubbish, I don't need it cluttering up my RSS feeds. Thank you.
  20. Nobody here said "ruby rocks." Yet.
  21. Watch out, don't get Joseph upset...he has a public website and you don't.
  22. Watch out, don't get Joseph upset...he has a public website and you don't.
    Ha! It's not "my website," it's everyone's... and I'm very far from upset. :)
  23. Watch out for Joe![ Go to top ]

    When he really gets angry he may quote your public comments verbatim. Give him a Mac Book Pro though and all will be honky dory.
  24. Re: Watch out for Joe![ Go to top ]

    Me and my homeboy Joseph have patched things up. All is good. Civility returns. But I wouldn't mind getting that Mac Boom Pro though...Joseph, any chance of that?
  25. Me and my homeboy Joseph have patched things up. All is good. Civility returns.

    But I wouldn't mind getting that Mac Boom Pro though...Joseph, any chance of that?
    Heck, nobody has bought ME one, how am I supposed to get one for anyone else?!
  26. TSS Alternative[ Go to top ]

    "Java Sucks without semantic awareness"??? Is there a way for TSS to control what kind of article is publish on its FRONT page? Or/And is there a more serious Java Portal I could use as my home page?
  27. No good. Adding semantic awareness the way you proposed it won't make it any better if the one reading it is illiterate. So, we will have to go to pictograms... But wait! Then it still won't be understandable if the one reading it is Baboon. So, we will have to go to pictograms with attached bananas... etc. etc. etc.
  28. Not funny[ Go to top ]

    This thread fails on so many levels. In related headlines we bring you: "37Signals knows a Truth. Chase the big customers, and they own you. Chase little customers, and even if you piss one off totally, the other 9,999 still love you. I'm with them. Big customers are a big pain. The only trick is to find a market" http://www.wired.com/techbiz/media/magazine/16-03/mf_signals
  29. Re: Not funny[ Go to top ]

    Thanks, good article CT. Take head Mr O, this is the sort of article (preferably half the length) that interests a lot of people. I read InfoQ now as I have more or less given up on TSS. You guys can still turn that around though before it's too late. Flame bait, cut and paste headlines and product announcements don't cut the mustard anymore for me.
  30. Guys, Don't waste your time on articles like this. I'm now fed up with these kinds here on the TSS of late. I can't honestly think of any reason Joe is doing this than a cheap motive to generate traffic. Articles like this almost always raise people's emotions to a very high level and hence could generate many responses. You know, he's missing the times when threads were generating hundreds of responses- the target one can easily use to convince advertisers his site is really alive and kicking. Well, I don't blame him, the well known Credit Crunch is biting hard also into advertising revenues. Regards, Jan
  31. Guys,

    Don't waste your time on articles like this. I'm now fed up with these kinds here on the TSS of late.
    I can't honestly think of any reason Joe is doing this than a cheap motive to generate traffic.
    Well, Jan, if you couldn't tell from the original post: it was actually humor. It was a real discussion, slightly paraphrased, and with the participants' ids removed (although I was the one who pointed out the existing method), but the primary point was providing some level of amusement to the TSS audience. Lord knows it amused ME when it happened. If all I cared about was generating traffic, I'd post all the crap that hits my inbox and the submission queue for publication, regardless of quality. That'd make potential advertisers happy. (Are you one of them, the ones who've posted stuff to TSS that didn't get pushed to the front page? If so: it failed to attract my attention, which may mean it wasn't significant, or it wasn't written well, or I just plain missed it, which also happens.) I'd probably post porn somewhere on here, too, to generate extra traffic.
  32. DIGG voting for articles?[ Go to top ]

    Yes, it's another article many may not like, if it's such an affront to people who can't just ignore them, perhaps we need DIGG-like voting, with articles promoted to front-page like on DIGG. Just a thought, not trying to get rid of the TSS Editors or anything :)
  33. And yes I know you can DIGG articles here, but I'm talking about within the context of the content that appears directly on TSS pages.
  34. And yes I know you can DIGG articles here, but I'm talking about within the context of the content that appears directly on TSS pages.
    *says nothing but hints strongly that this is a brilliant idea that the editors wanted*
  35. I suggest that the next article on Java's death be titled: "Significant rise in Humorless Sods among Java developers herald platform's demise"
  36. With a programming language you describe a machine. Semantics are human expressions. A human can put those in a machine. A programming language can't. It is only a means to an end. Since so many people seem to dislike real programming lately, I propose we make a distinction between programming languages and recipe languages. The latter are those which require no logic, no knowledge, no brain actually. The cookbook with the recipes is the web. You choose one and prepare a dish. However, don't expect to achieve anything more complex than a cake. Let's agree that if anyone wants to write an article about a recipe language, he or she says so in the first line, so we can all go back to sleep. This site is called "TheServerSide.COM". I would expect very interesting elaborations about service-oriented issues. Recipe languages don't qualify, and comparisons with them either, because we don't bake cakes on a server. Server systems need real programming languages, used by people who are willing to think.
  37. The ServerSide Sucks Without Java Awareness
  38. Lack of semantic awareness is nothing specific to Java. The actual problem is the lack of expressivity that an API is able to offer. x.contains(y) is, to the compiler and to all other programming support tools, a method call. Nothing else. Semantics hints may be provided by the name of the method and its documentation, but they're only hints. And in any case they're totally irrelevant to the compiler. Semantics awareness means integrating the appropriate concepts at the language level rather than at the API level. With language-level integration, the compiler is able to perform high level code optimization (such as understanding that new HashSet().contains(y) is always false by definition), or can check for obvious mistakes. Domain specific languages often integrate semantic awareness for concepts specific to a given application domain (for instance SETL is a language designed to express things about sets and understands the notion of "contains"). The problem of domain specific languages is that they're, well, domain specific. Semantic awareness is not about the death of one particular language but about the death of APIs as we know them. We've already demonstrated some successes in this direction, you may check my company's web site for details: www.ateji.com
  39. I couldn't disagree more. Java will die, this is sure, but the because after more than ten years and at its 7th generation, it is still unable to produce what its name promised: coffee. And it is a shame !!! Guido
  40. Java.equals(Democracy)[ Go to top ]

    Its a terrible system, but its the best we have so far.
  41. java will die because[ Go to top ]

    Nothing is constant. Everything is impermanent. We can add C, C++, C Sharp, PERL, Python, Ruby and every other language out there today to the list. I fail to see how it's even news or worth talking about. It goes under the "no ___ sherlock category". Get over all ready. peter
  42. googleing java sucks[ Go to top ]

    This article currently comes in as the 11th result on google in the US. Not bad for a joke. Many of the other hits, are pretty serious or perhaps angry compositions.
  43. What date is it?[ Go to top ]

    Nope, it's not 1st April... thought it might have been for a second there... What a crock of s**t, how on earth did this make it to TSS? Firstly Java has been going for a long time and has been successfully deployed on countless projects in countless organisations. If it's gonna die (and I don't think it is) it will be due to reasons other than this lame and lacklustre attempt at another attack on Java... Secondly, the comment about cutting and pasting code from the web to create executing code is just scary. You'd have to be nuts to trust random code from the web, sure Google searching helps find solutions to problems, but to put code found on the web straight into production is just lazy and incompetent. Here’s what I think: the author has decided to jump on the bandwagon of "let's use the word semantic in a blog post" craze and butchered it into a badly thought out argument.... Hint, if you wanna really find out which class has the "contains()" method, go to the Javadocs for the API you are using and click on "Index" and then "C" and look for "contains".... Been doing that for 10 years and it's served me OK...
  44. In an unrelated story to this - UNIX died or has been dying since Windows NT came on the scene ... (but the damn zombies like Linux, *BSD,etc. keep hanging around!)
  45. tss.contains(JO);[ Go to top ]

    .
  46. Sarcasm[ Go to top ]

    Gents, as the author said in one of the posts
    Well, Jan, if you couldn't tell from the original post: it was actually humor. It was a real discussion, slightly paraphrased, and with the participants' ids removed (although I was the one who pointed out the existing method), but the primary point was providing some level of amusement to the TSS audience. Lord knows it amused ME when it happened.
    It is called sarcasm... Maybe Jo should add a hint in the original post to prevent more people from wasting their time with serious answers to a post that wasn't meant to be serious at all.
  47. my bad[ Go to top ]

    He actually did add the hint already....
  48. A conversation with someone highlighted yet another problem with Java, a fatal one: Java's lack of semantic awareness. Without this, coders are unable to use examples from the web, lessening whether Java is actually usable or not.

    Here's a representative sample of the conversation:
    What I want is x.contains(y).
    Sorry, but what exactly is the point here? If someone's coding as minimalistic as using just a, b, c, x or y as variable names, it's their own fault! If you use better, more clever examples like: kindergarten.contains(john); Where kindergarten is a collection and john instance of an object like Person, Child or similar, this sounds much more semantic and understandable. I used "kindergarten" as "class" would not work as well ;-) But maybe that is what some people criticize about Java next??