Guys, this discussion is becoming more and more blurred. There are infinitely different situations with different needs and different constraints, there is no point in trying to argue that solution X will work for everyone.
Lets just do what we do best and see what will work and what won't work, I know people who still code in RPG[1] and they're making a good profit, and I know people who code in C#4[2] and have red figures on the bottom line. All I can say is that I feel very fortunate to be paid to write Scala, working with one of the most brilliant minds[3] of the community and on, in my opinion, one of the most interesting products[4] in its niche - that's success for me. However I fully respect that success for someone else might mean something entirely different. The risk of these discussions is that they very often turn into Blub[5]-debates or simply degenerating into argumentum ad hominem[6]. So please, everyone, join hands and sing. "Java, Scala, Java-Scala jing jing jing." Cheers, [1]: http://en.wikipedia.org/wiki/IBM_RPG [2]: http://en.wikipedia.org/wiki/C_Sharp_4.0 [3]: http://www.jonasboner.com/ [4]: http://www.akkasource.com/ [5]: http://en.wikipedia.org/wiki/Blub#Blub [6]: http://en.wikipedia.org/wiki/Ad_hominem PS. ARRR! Avast ye landlubbers! On Sun, Aug 8, 2010 at 3:48 PM, Liam Knox <[email protected]> wrote: > Productivity: > > Why aren't companies buying Scala if it is so productive? > I really don't get this. If everyone was a Genius you could define an > infinitely concise language with infinite productivity. > My assessment of Scala is that for the general developer, and for a firm, > it is less productive than Java > > And why does everyone keep talking about DSL's? > > The financial industry has yet to even define common descriptions of > business entities let alone behavior. > DSL's appear to be being viewed in the same as AI was 10 years ago, some > kind of panacea > They are not. For a useful DSL you need consensus, multiple parties and > uptake. > > Having a language with an ability to design a DSL can in many ways be > counter productive. > > On Sun, Aug 8, 2010 at 7:23 PM, Mario Fusco <[email protected]> wrote: > >> > 1. Conciseness : You can always have bad code regardless of >> conciseness, >> > see Perl or APL for good examples. I don't buy this argument at all. >> Good >> > Java development can produce very concise code already. This is not a >> > winning argument >> >> Of course you can write awful code regardless of the language. >> Nevertheless conciseness can be a winning factor especially in the >> long terms. The cost to maintain a software is directly proportional >> to the number of its LOCs. >> >> > 2. Productivity: The argument of individual productivity is completely >> > irrelevant. You have to look a teams and indeed whole firms on this >> point >> >> Productivity is the real winning point of Scala if you use it in the >> right way. A few examples to justify this statement: >> >> a. The most important part of any meaningful application is its >> business model. Try to leverage the Scala features in order to write a >> small DSL implementing that business model and let the other guys of >> your team to use your DSL. The result will be an higher productivity >> and an easier to read and to maintain source code. >> b. Scala is the most extensible language I know. It allows to abstract >> the most common patterns you use in your code and to define your own >> keywords and constructs. In turns that allows you to reduce code >> repetitions (conciseness) and to avoid to reinvent the wheel day by >> day (productivity). >> c. The actor model, when you master it, is less error prone and more >> productive than the multithreading features (based on synchronization) >> natively provided by Java. >> >> > 3. Complexity: Java is less complex this is a plus point fact. >> >> Yes, Scala is more powerful and then more complex than Java. In my >> opinion this is a pro. If I didn't like complexity I'd program in >> VisualBasic :) >> >> > 4: Open Source momentum: Even though you have interop the opensource >> Java >> > Libraries will all feel more natural in the pure Java world. >> >> Java is around from 15 years and has millions of developers. Of course >> you have more tools and libraries in Java than in Scala. Anyway some >> of those libraries are there only to overcome some Java limitations >> (mine, lambdaj, is a valid example of that) and others could be more >> powerful and easier to be used thanks to better Scala extensibility. >> The wonderful Akka project ( http://akkasource.org/ ) is a good >> example of that. It is just a matter of time and in the meanwhile you >> can still use the Java libraries with a not so big effort. >> >> > 5. Functional Programming: Most developers see this as a big plus point >> but >> > one must keep asking why, as functional programming has been around for >> > donkeys years, has it still had little impact to date? >> >> Why do object oriented vs functional programming discussions often >> sound so similar to catholics vs muslims ones? Scala is the >> demonstration that the two programming models can coexist in the same >> language. >> >> Why does functional programming still has a so little impact? Well, >> probably for the same reasons why Windows is still far more used than >> Unix-based operating systems: >> >> a. It is less powerful and then less complex. People are lazy and >> don't want to put their brain at work. But we, as developers, should >> let our brains working. >> b. It is easily available. The biggest part of the pc are sell with >> Windows already installed. In the same way managers and companies ask >> for Java developer since they are easier to be sell. >> c. For some reason, especially in our field, the best technology is >> rarely the winning one. >> >> Bye, >> Mario Fusco >> twitter: @mariofusco >> >> -- >> You received this message because you are subscribed to the Google Groups >> "The Java Posse" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<javaposse%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/javaposse?hl=en. >> >> > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<javaposse%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > -- Viktor Klang, Code Connoisseur ======================= Code: github.com/jboner/akka Follow: twitter.com/viktorklang Read: klangism.tumbler.com -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
