Author Topic: The leapfrogging rule  (Read 342 times)

The Gorn

  • Your agonizer, please. And be sure to keep the batteries charged!
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 14170
  • Gornix user
    • View Profile
Re: The leapfrogging rule
« Reply #15 on: August 30, 2011, 10:33:46 pm »
I'm firmly in ilconsiglliere's camp.

I find it quite difficult to get excited about any new technology for the simple reason that there is this enormous backlog and infrastructure of existing systems, coding standards, development groups, and people who are all committed to existing tools and platforms.

In short, even if I DID care enough to learn Scala, for example, the possibility that someone would actually allow me to use it on something real and significant would be about nil.

Real greenfield projects are exceptionally rare.  The only times that they seem to take off are when the technology platform is changing.

The last few times that new-from-scratch technology projects seemed to prevail were: around 1991 when Windows 3.x started to take off and GUIs were all new; then again in the late 90s to cope with rewrites of Windows stuff to 32 bit platforms; plus in the late 90s internet applications took off, a whole new category of application. 

I did a lot of work at several of those junctures whose need was driven directly by the opening up of new areas of technology business opportunity, and I was learning new skills even as a contractor.

Today there is no similar area of dire need or expanding markets that is driving movement to any particular new tool.
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.


Peter Gibbons

  • Guest
Re: The leapfrogging rule
« Reply #16 on: August 31, 2011, 06:30:19 am »
Quote
In short, even if I DID care enough to learn Scala, for example, the possibility that someone would actually allow me to use it on something real and significant would be about nil.

For me the probability is 100% since I will allow myself to use it for my next SaaS project :)

The Gorn

  • Your agonizer, please. And be sure to keep the batteries charged!
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 14170
  • Gornix user
    • View Profile
Re: The leapfrogging rule
« Reply #17 on: August 31, 2011, 10:28:06 am »
If you're an ISV that probably changes everything about the opportunity issue.
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.


ilconsiglliere

  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 805
    • View Profile
Re: The leapfrogging rule
« Reply #18 on: August 31, 2011, 12:40:34 pm »
As your own business you are free to use whatever works for you. Especially if you are not concerned with compatibility with existing software. This is a big issue today - if you are selling canned software you had better support the popular databases and hardware. Years ago this would not matter as much but it does now.

Now on the other hand if you are doing SaaS, than you are just selling a service. Who cares.

You should look at CaaS (Cloud as a Service), per the researchers I encountered this is the big wave that is beyond just SaaS.

unix

  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 1114
    • View Profile
Re: The leapfrogging rule
« Reply #19 on: September 02, 2011, 04:01:35 am »
That Scala does look interesting. I can see the Pascal background. Println

I don't know if I can leverage it financially, but I've always had a developer hiding inside of me.

David Randolph

  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 2498
    • View Profile
Re: The leapfrogging rule
« Reply #20 on: September 02, 2011, 09:29:45 am »
Real greenfield projects are exceptionally rare.  The only times that they seem to take off are when the technology platform is changing.

<snip of list>
Today there is no similar area of dire need or expanding markets that is driving movement to any particular new tool.

You missed the latest change: moving from the desktop to the phone / pad.
The latest PC shipment reports note that pad sales are eating into PC sales.

A lot of PC functions will be moving to the pad and the data to the cloud.

The opportunities are:
massively parallel programming for the cloud behavior
pad user applications
security issues for the pad

Peter Gibbons

  • Guest
Re: The leapfrogging rule
« Reply #21 on: September 03, 2011, 06:02:14 am »
Quote
A poll was taken recently in the Northern Virginia Java Users Group that asked:  "What language besides Java are you interested in using or already using?"

I seems strange that Scala was not listed as a choice.  Those that were interested in it presumably would have voted for "other" which garnered 5% of the votes.  Javascript, Ruby and C# came out on top:

Here is Merge Sort in Scala:


def msort[A](less: (A, A) => Boolean)(xs: List[A]): List[A] = {
    def merge(xs1: List[A], xs2: List[A]): List[A] =
        if (xs1.isEmpty) xs2
        else if (xs2.isEmpty) xs1
        else if (less(xs1.head, xs2.head)) xs1.head :: merge(xs1.tail, xs2)
        else xs2.head :: merge(xs1, xs2.tail)
    val n = xs.length/2
    if (n == 0) xs
    else merge(msort(less)(xs take n), msort(less)(xs drop n))
}


Here is Merge Sort in Java
http://www.vogella.de/articles/JavaAlgorithmsMergesort/article.html

The code is about 4 times longer.

Now - some programmers will note that the Java code sorts the elements "in-place" - so it's more space efficient.

But the point here is that you could get your job faster with a higher level language like Scala.

I have the feeling that for the type of work you do - Scala could be much more empowering. Yes - Scala has a learning curve if you want to use the more functional aspects of the language - like the example above.

By the way here is the "Scala By Example" free book from Martin Odersky.

http://www.scala-lang.org/docu/files/ScalaByExample.pdf


In terms of the other languages mentioned: Since I have used Ruby and C# in the past and more recently Javascript - I would answer using those too.

However in terms of interest - I am interested in Scala even though I haven't done any real work except playing with sample programs and trying a few features.


By the way - if you think Scala looks unfamiliar and strange at first - check Erlang :)


qsort([]) ->
    [];
qsort([H | T]) ->
    qsort([ X || X <- T, X < H ]) ++ [H] ++ qsort([ X || X <- T, X >= H ]).


I know just enough about it to wrap my head around the Quick Sort above. But I have the book and check from time to time to see what is happening with the Erlang project. Erlang seems to be very suited for writing servers for chat applications ... and I haven't done anything similar.

Scala did borrow a few things from Erlang according to the author.



I D Shukhov

  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 3359
    • View Profile
Re: The leapfrogging rule
« Reply #22 on: September 03, 2011, 06:20:04 am »
Peter,

I removed my post before you posted.  I thought the poll was recent, but then saw it was started in 2006.

This presentation about the benefits of Scala was posted in the same group:   http://scala-boss.heroku.com/#1
Anything that won't sell, I don't want to invent.  Its sale is proof of utility, and utility is success. – Edison

Peter Gibbons

  • Guest
Re: The leapfrogging rule
« Reply #23 on: September 03, 2011, 06:45:13 am »
Nice presentation.

However I am not really interested in pitching Scala to clients.

I have a few ideas about SaaS projects and would be interested in doing one of them with Scala.

If I could cut my development time with 50% - that would be great.

The one place where Scala has a problem - the compiler is quite a bit slower than the Java one.
Scala is doing more things of course but I really hope they manage to close the gap.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf