I am a software engineer with a passion for
ProgrammingLanguage. I use
CeePlusPlus and
JavaLanguage in my daily work but my favorite is
PythonLanguage. I have learnt the basic of
RubyLanguage,
HaskellLanguage and
LispLanguage.
Hi Thanh. They say that the more languages you learn first, the more awesome SmalltalkLanguage will be when you get to it.
That's why you should try RubyLanguage. --
PhlIp (currently besotted with
PythonLanguage - please don't remind me of it!)
I learned
RubyLanguage a few months back. I really liked
BlocksInRuby.
My favorite quote is "Closures are poor man's objects and objects are poor man's closures" -
ClosuresAndObjectsAreEquivalent. From Charming Python (
http://gnosis.cx/publish/programming/charming_python_16.txt):
#------- Smalltalk-style (Python) tax calculation -------#
class TaxCalc:
def taxdue(self):
return (self.income-self.deduct)*self.rate
def setIncome(self,income):
self.income = income
return self
def setDeduct(self,deduct):
self.deduct = deduct
return self
def setRate(self,rate):
self.rate = rate
return self
print "Smalltalk-style taxes due =",
TaxCalc().setIncome(50000).setRate(0.30).setDeduct(10000).taxdue()
and
#------- Python Functional-Style tax calculations -------#
from functional import *
taxdue = lambda: (income-deduct)*rate
incomeClosure = lambda income,taxdue: closure(taxdue)
deductClosure = lambda deduct,taxdue: closure(taxdue)
rateClosure = lambda rate,taxdue: closure(taxdue)
taxFP = taxdue
taxFP = incomeClosure(50000,taxFP)
taxFP = rateClosure(0.30,taxFP)
taxFP = deductClosure(10000,taxFP)
print "Functional taxes due =",taxFP()
print "Lisp-style taxes due =",
incomeClosure(50000,
rateClosure(0.30,
deductClosure(10000, taxdue)))(