3 ms·
I don't accept that his particular verbose version of doing things in java is acceptable. Just because dynamic language x does x things hidden behind a bunch o
by elai 18y ago
I don't accept that his particular verbose version of doing things in java is acceptable. Just because dynamic language x does x things hidden behind a bunch of code means that you have to emulate the exact same things in another language to achieve the same result.
It's bad smalltalk to emulate C while your programming for it, and similarly it's bad C to emulate smalltalk with it. It's like I would take his original java version and made it into perl, insisting that the perl script HAS to be in a class definition, and HAS to be in a main method, I MUST define the resultset in a static class list, and output with separate methods. Saying that perl couldn't reproduce my 'reusable object' java functionality with doing that is just pedantic.
He should of just extracted a real example where it's impossible to do something in a short amount of code due to the lack of a specific feature, or being chained to java's static typing. Like converting a JDBC ResultSet to an int[]. (5 lines of code, 15 if you don't compress the curly brackets)
A real life implementation of his example:
public class Out { public static void main(String args[]){ for (int i = 0; i < 6; i++) { System.out.print(''+i*i+' ');} System.out.println();}
Also just because a language is succinct, doesn't mean it's productive. Just look at SML. It's many, many restrictions act as a straitjacket to do simple things, yet also keeps things succinct. It's would be better to say that because of intentional restrictions x (static typing) or lack of feature y (first class functions), it makes it that doing some simple thing z is forced to used workaround a. Because language b has this feature set, this leads to general bureaucratic overload.
Java isn't bureaucratic just because of the language alone, Sun & apache contributes a lot of this itself in how they've programmed their standard libraries and their love affair with XML.
- rbanffy 18y ago"and their love affair with XML." You just gave me an idea for an excellent April's Fools prank.
- rkts 18y agoCan you give a few examples of SML's "many, many restrictions"? The only things I can think of that fit that description are the value restriction and lack of first-class polymorphism, but neither of these should have a serious effect on productivity.
- elai 18y agoWhen I was given assignments for SML, I was constantly running into x or y restriction whenever I tried something. Maybe my prof knew how to setup his assignment for maximum frustration using SML, and normal usage is not so bad (after you gain some skill in it), I don't know. But consensus from my class & some people on the net is that it shouldn't take hours to get a 10 line program working. Principle of least surprise is something SML does not follow. Also there's a lack of a support network & decent documentation for it compared to more popular languages out there. I'd rather use lisp than the traumatic experience SML was. At least the syntax isn't much to learn.