I am now convinced that the Web needs a language of its own. It is not good enough to try and build systems with general purpose computer languages such as Java, C#, Python, or Ruby. Tick, tock, request, response, the collage of technologies that it takes to put together a simple website and backend is a wonderful display of inefficiency. I have seen the future and it is not hacking Javascript or HTML! How many ways can the same Rails app be written doing almost the same thing? Wouldn't it be nice to develop a solution to a problem using one language to express business rules? It seems like the best way to solve this problem is with better tools. New languages are judged on their expressive power, both the computer and human type. Most of the people using the Ruby language, do so because it will be used to generate what is between a couple of html tags.
I hereby propose that a new language be created that inherently knows the semantics of the web leaves us problem solvers with the ability to apply business log simply and directly.
Thursday, February 25, 2010
Wednesday, January 6, 2010
PHP -- much better than using switch statements
PHP's syntax is manic muddled mess. It is not object oriented programming, but there are a few things that make it easy to do things better than the average hacker.
Function pointers, if you are a C person, Funs, if you are an Erlang cat, Procs or lambdas for Ruby, delegates in C#, lambdas in my beloved Python is what I am talking about.
PHP too, supports this, but in a completely straight forward way.
take the following PHP code:
you can simply refer to pass around a reference (or pointer) to 'iMRichBitch' using a string by the same name. Of course, when the function is to be invoked, you simply can say:
So this begs the question, "if I have function pointers", then I ought to use those instead of case statements and maybe even nested conditionals, right?" The answer is a big 'YES'.
so instead of this:
you might think about doing this (with a little defensive code for garnishment):
Function pointers, if you are a C person, Funs, if you are an Erlang cat, Procs or lambdas for Ruby, delegates in C#, lambdas in my beloved Python is what I am talking about.
PHP too, supports this, but in a completely straight forward way.
take the following PHP code:
function iMRichBitch() { compute48thMersennePrime(); }
you can simply refer to pass around a reference (or pointer) to 'iMRichBitch' using a string by the same name. Of course, when the function is to be invoked, you simply can say:
$func = 'iMRichBitch';
$func();
So this begs the question, "if I have function pointers", then I ought to use those instead of case statements and maybe even nested conditionals, right?" The answer is a big 'YES'.
so instead of this:
switch($conditional) { case 1: do1(); break; case 2: do2(); break; default: break; }
you might think about doing this (with a little defensive code for garnishment):
$conditional();
Sunday, January 3, 2010
Lambda Calculus
Can anyone fully understand lambda calculus? If so, what would they do with that power?
Thursday, October 8, 2009
Functional Programming
Your brain is rolling along on that cold steel track of life. You process item after item, then list after list as if you were the building the chassis for a million robotic arms. Do this, then that, then this. Wake up, shower, go to work, go to lunch, come home, go to bed, rinse and repeat. Suddenly div/0, your brain stops and you forget every pattern that was pitted into your mind. The very wiring of the mind is a melted cacophony of cold snow and bloodied bird feathers. You know not who you are or what you are or why you are. Objects become functions and anonymous functions become parameters. Logic is modeled in actors passing messages. Actors mean nothing beyond what messages they pass. Cars on the highway become mail to mailboxes. Action and nonaction and not being. Colors become transformations yet to be decoded. You are what you do and nothing more. That is the primordial essence of the functional being.
Monday, October 5, 2009
Reading list
I am logging a reading list for myself. Most times, when reading something, the author references another work, so I want to log this list as a must read.
Joe Armstrong's doctoral thesis
Why do computers stop and what can be done about it. by Jim Gray
Joe Armstrong's doctoral thesis
Why do computers stop and what can be done about it. by Jim Gray
Wednesday, September 30, 2009
Perl one liner, backreferences, displaying only part of a line
I like this construct for searching through files in a directory and pulling out part of a line.
Just add the regular expression. The '?' designates a non-greedy expression, which means the finite statement machine will quit on the first successful match.
find . -name "*.xml" | xargs perl -ne '/(.*?)"/; print $1; print "\n";'
Just add the regular expression. The '?' designates a non-greedy expression, which means the finite statement machine will quit on the first successful match.
find . -name "*.xml" | xargs perl -ne '/(.*?)"/; print $1; print "\n";'
Tuesday, September 29, 2009
What I like about living in Atlanta, GA
I recently moved to the Atlanta area. @dneighbors on twitter asked the question "Why Do You Live Where You Live?" It may be that I just love Atlanta, or maybe cause it felt so good to get out of Phoenix. Let me paint a picture for you.
Here is my perspective. Being born and raised in Phoenix, AZ and then moving to the Atlanta area in my thirties was a monumental change. The culture, weather, terrain are all starkly different.
Phoenix: hot, dry, dusty, smoggy, transient culture, California rejects, kind-hearted souls, sunburn, sunny days, prickly cacti, rocky moon-like surfaces, smelly dairy farms, cotton fields, traffic cameras, migrants standing on corners, 90 degree low temperatures, blast oven heat in your face from April to November, the sweet smell of jasmine and orange blossoms on spring nights.
Atlanta: Cool breezes, smell of pine in the air, festivals in the park on beautiful days, a sense of community, long summer days by the pool, peach cobbler, wild rasberries, blackberries, and blueberries growing in summer, smell of chocolate in the spring when the Magnolias bloom, blooming wisteria, azelia flowers, the old narrow streets of mid town, the rolling hills of Atlanta, every street named "peachtree" downtown, the aquarium, the college football, the reddest red of the maples in the fall, the greeniest of green of the pines against the deep blue sky, the "oceans" of kudzu, the brisk autumn breezes delivering a blanket of red, brown, and yellow leaves, the southern hospitality, neighbors helping neighbors, the squirrels, the bright red cardinals, the shady paths in the park, the fireflies, the geese, the deer
Here is my perspective. Being born and raised in Phoenix, AZ and then moving to the Atlanta area in my thirties was a monumental change. The culture, weather, terrain are all starkly different.
Phoenix: hot, dry, dusty, smoggy, transient culture, California rejects, kind-hearted souls, sunburn, sunny days, prickly cacti, rocky moon-like surfaces, smelly dairy farms, cotton fields, traffic cameras, migrants standing on corners, 90 degree low temperatures, blast oven heat in your face from April to November, the sweet smell of jasmine and orange blossoms on spring nights.
Atlanta: Cool breezes, smell of pine in the air, festivals in the park on beautiful days, a sense of community, long summer days by the pool, peach cobbler, wild rasberries, blackberries, and blueberries growing in summer, smell of chocolate in the spring when the Magnolias bloom, blooming wisteria, azelia flowers, the old narrow streets of mid town, the rolling hills of Atlanta, every street named "peachtree" downtown, the aquarium, the college football, the reddest red of the maples in the fall, the greeniest of green of the pines against the deep blue sky, the "oceans" of kudzu, the brisk autumn breezes delivering a blanket of red, brown, and yellow leaves, the southern hospitality, neighbors helping neighbors, the squirrels, the bright red cardinals, the shady paths in the park, the fireflies, the geese, the deer
Subscribe to:
Posts (Atom)
