Discussion on Ada, Java and Clean

We had a discussion on programming language preferences last week with a friendly undergraduate guy. He strongly prefers C++ and Qt, also showing enthusiastic interest in studying Concurrent Clean, while showing great dislike of Java, C# and Ada.

I won't go through the whole argument here, but the most interesting aspect of his mentality is disliking the last one. He went on to demonstrate the inferiority of Ada with examples that prove true even in the case of Clean or Haskell!

In favor of C++, he mentioned the forgiving nature of the type system. As an issue against Java, he named garbage collection, and against Ada, he listed many issues like instance derivation of type classes and the obscure syntax (I think he used a word like incongruent).

He was desperate even after I told him that he will face with very similar issues under Clean. Well, in my opinion, he will have a great time after getting hang of all that! ;-)

Comments

  1. Yeah, zhere is always someone on an own way...

    Check this out: http://adlibrum.hu/Zaicsek-Balazs/

    ReplyDelete
  2. @Balu: I don't fully see the relevancy of your comment, so please elaborate. Having one's preference to certain issues is one thing, while giving inconsistent rationalization is another. :-)

    ReplyDelete
  3. The "art of programming" is a well known and popular slogan. Well known but slightly misleading. In fact programming is not art. It is a profession. Software projects usually run at short notice and deadlines are always close. This involves poorly supervised cooperation of the professionals. There will always be more and less suitable members in a project team and to top it all I can easily imagine even Mr Knuth making some typos in his bad days.
    Upon the aforementioned considerations anything that makes the work of programmers easier should be welcomed. System.gc() can hardy be a point *against* Java. Sorry to say even GC technology is less than 42* but it is obviously a great leap forward. You may have heard some rumors about its great impact on performance. These rumors are not baseless but the impact is a thing of the past. The hotspot engine today works quite well - espcially when deploying to the current multicore/multiprocessor systems. I believe the background gc() thread - or threads(!) - has already saved many hundred man-years of coding or debugging for us. There is room for debate about the strategies, implementations or tuning of the gc support in VM - but imho the usefulness of this technology is not questionable.

    * Answer to the Ultimate Question of Life, the Universe, and Everything ;)

    ReplyDelete
  4. Sure, I fully agree with you! In our discussion I represented the very same viewpoint as you do, but he has too little all-around experience about the topics mentioned this time.


    As a conclusion, I had to remark that we are all generally unwilling to leave our comfort zone. But as I said, he's still not done yet with all these paradigms! ;-)


    Also see:

    bkil: Is Java a slow language?

    bkil: Optimized Java bytecode scheme for embedded devices

    ReplyDelete

Post a Comment

Popular posts from this blog

Tftp secret of TL-WR740N uncovered

Hidden TFTP of TP-Link routers

Haskell for embedded: C output, compilers, monads, Timber