Slashdot Mirror


User: mwildam

mwildam's activity in the archive.

Stories
0
Comments
5
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 5

  1. Re:It says: 256MB RAM... on Ubuntu 9.10 Officially Released · · Score: 1

    No. Microsoft got on the bus and then forced the bus company to turn the bus into a jumbo jet so that Microsoft's fat ass could fit in the seats.

    Yes indeed, full ACK!
    But now Linux fit even better or 4 times into the Jumbo jet!

  2. Re:Type erasure on Scala, a Statically Typed, Functional, O-O Language · · Score: 1

    Sorry, I overlooked that you were talking of generics only. I searched Google as you proposed.

    The first link that comes up (http://davidrupp.blogspot.com/2008/01/java-generics-broken-we-report-you.html) has in the comments the correction - I think it was intended that way (see comments).

    The link http://hinchcliffe.org/archive/2005/01/07/146.aspx talks about Java as well as C# generics "broken".

    Reading through a few examples I think I would never have noticed those problems without having such examples given. The "? extends Something" seems complex but I think I understood why they intended it that way. Generics are a "tool" for you to explicitly specify needed classes (for whatever reason).

  3. Re:Type erasure on Scala, a Statically Typed, Functional, O-O Language · · Score: 1

    Your experience with Java is hugely different than mine, then.

    I have clearly not so much experience as you, but I am a Software Developer since being a school boy so my experience is about 25 years using more than 10 different languages (and I admit I am also a little tired of learning new ones every few years).

    - Embedding a large String in a source file.

    Large strings I do usually read from external templates (not necessarily XML which I find ugly and inefficient for most cases). Although the """ is a nice feature it is IMHO no major benefit.

    -Information passing. Our code is littered with Java classes like this:
    class TransactionData { private Date date; private Long transactionId; public Date getDate() { return this.date }
    [...]

    Object oriented programming can also be exaggerated... - Although Java is an object oriented language not everything must be necessarily packed into it's own class. I only have few such boilerplate code because if I have too many too similar classes I do combine them or make one parent class. For years I developed in VB where neither inheritance exists, but I learned from this, that in many cases re-combining existing classes is a very useful option.

    But in many cases, it's a useless data holder class created for the sole purpose of passing information back and forth between two different Java classes.

    Then maybe a different way of passing data around would be a good idea - but that said, I know that in most projects there is a large stack of frameworks used like Hibernate, Spring and the like. Once tripped in there, it's hard to get out and forces you to that coding style.

    -Null checks. Our Java code is just full of code like this:
    SomeType x; SomeOtherType y; SomeThirdType z; x = doSomeCalculation(); if (x != null) { y = x.getY(); if (y != null) { z = y.getZ(); }

    Yep, that one I really know also - I didn't think of this so far because I wouldn't have expected a solution for that. ;-)

    Scala has Options which shortcut the whole procedure and let you write the exact same logic in a much simpler way.

    One concern that I have in general when the discussion comes up of writing something in a shorter way is readability. I remember some famous "one-liners" from C++-Programmers that nobody could understand. I know developers who forget very fast of what and why they did...

    -Inheritance. We have a number of interfaces and abstract parent classes that are used left and right in the Java code. Every time a method changes in one of the interfaces,
    we have to re-write the class hierarchy or insert an intermediate parent class.

    I think I did not get exactly what you mean here. But I remember times where refactoring was very hard manual work. Maybe from those times I do think 10 times when designing interfaces before I start with the implementation.

    Scala traits give Java multiple inheritance without the multiple inheritance headaches of C++.)

    Not everything that can be done should be done. Since working with Java I consider the restriction to single inheritance as a good idea. Although I do most projects alone, I have seen enough foreign code that drove me crazy.

    -Cases. Java has a nice switch construct... for numbers.

    Yep, I know this one and I argued about that. - But it should come with Java 7 ASFAIK.

    -Exceptions. In Java, you have to explicitly catch all of your checked exceptions or declare them to be thrown. In Scala, all exceptions are unchecked.

    I really like to have the option to use checked exceptions! And you can also use unchecked exceptions if you like - and guess what: you neither need one of those you can also live without them (at least in your application,

  4. Re:Type erasure on Scala, a Statically Typed, Functional, O-O Language · · Score: 1

    I am beginning to get tired of messages that Java is underdeveloped or "broken" (as you say). In all the newer languages I cannot see THE reason for using it. And I started only about a year ago to really use Java. I think there is still a long way until the killer language is born and matured. I totally agree with the folks that think 10 times before implementing a new language feature into Java.

    At least with the programming language I don't want to have already the same issues as with big software products that have a lot of features packed into them but are awful to use (in performance and usability).

  5. Weekend vs Work and Java on C# and Java Weekday Languages, Python and Ruby For Weekends? · · Score: 1

    It might be that Python and Ruby are less used in business because of different strengths of those languages - and maybe in business companies don't want to adopt yet another programming language.

    Apart from that I did intensive evaluation about 1-2 years ago and I found Java being the best overall option for most common development. Sure, such a conclusion may depend on the branch you are working - I am an allround developer and not a driver programmer or pure web developer.

    And as I wrote in other places also - I think just looking at the core language features is barely enough when thinking of what language to use for your next project. There are 3rd party libraries, IDE (features), ntegration options, other development tools and so on that should be taken into consideration also.

    Furthermore I think companies will not switch to different languages just because it seems to be more fun. The requirements for a home or private (mostly smaller) project are different than for business projects. Nowadays in IT you get so easily a mess of "legacy systems" to maintain that I guess companies don't like the adoption of many different programming languages also. - Talking of Python and Ruby I think there will be a rising of Scala then also soon. This somehow leads me to http://www.ddj.com/architect/184413224 and I recall a lot of times when me, friends or others thought of another programming languages being THE new language that can be used to solve even the hunger in the third world.

    It seems that more people give Python and Ruby a try which is interesting to know but does not necessarily means that those languages are the languages of the future.