HN user

jherber

27 karma
Posts0
Comments6
View on HN
No posts found.

Amusingly horrible question. Functional programming languages don't typically have class-based or prototype mechanisms, so why on earth would a named set of object interaction mechanisms be relevant - let alone displaceable?

I also think it is funny the status quo in language design is to effectively combine objects and functions but programmers and writers are not acknowledging this fusion. Ocaml, Javascript, F#, Scala, Ruby, Nemerle ... with varying ease, these languages all let you create lambdas, compose functions, functions as values. Even mainstream languages like C# and Java are awkwardly moving in this direction.

Scala does some crazy stuff to make "fusion" interesting. They allow objects in pattern matching by providing a specific mechanism for allowing an object to expose encapsulated behavior (extractors). Functions all belong to a parametric set of classes and have an "apply" method e.g. def add(x:Int,y:Int) = x+y is really Function2[Int,Int,Int]{ def apply(x:Int,y:Int):Int = x + y }. Likewise, any class or singleton object can invoked as a function by providing an "apply" method implementation.

+1 Scala. Open JVM, open compiler, open libraries, open language design/research community, and 3 books on the way. More importantly, Java and C# are throwing in lots of functional programming features after the fact. They will likely never have the uniform object/functional model Martin Odersky has already achieved in Scala.

akes perfect sense under the Evolutionary Psychology framework. If something bad is happening around you, you should be trying to overfit the data to avoid your demise. Assuming an escapable, cataclysmic event as a fitness function - only those growing paranoid and neurotically "connecting the dots" are going to make it out alive to breed again.

"The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no Warrants shall issue, but upon probable cause, supported by Oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized."

The Constitution is our Contract with the Government, and the Judicial Branch our process. Writing your Representative helps, but giving to lawyers who fight and defend the Constitution from overreaching/overreacting Government Officials is equally important and extremely patriotic IMO.

Scala currently answers every one of the author's beefs, except for reflection. Scala runs on the JVM and is a Functional/OO Hybrid language that supports static typing and type inferencing. Bottom line - full Java interop and removal of Java's high cerimonial cost without the speed penalty imposed by dynamic languages.

this is exactly what it is doing. it's a javascript lib that exposes an ajax connection (fancifully named "TCPSocket") that is proxying a socket connection through the Orbitd server. if there isn't strict control of client IP addresses and outgoing IP/port at Orbitd, then you should expect folks are going to abuse/hack your server for proxying who knows what from where.