<?php require 'vendor/autoload.php'; $app = require 'src/app.php'; Psy\Shell::debug(['app' => $app]);
Supports readline, pcntl, registering custom commands, automatic semicolon insertion, clean+concise string representations of evaluated values. Amazing work Justin Hileman!
Had many basic software development lessons hammered in by personal experience over the last couple of years: hierarchy bad. side effects bad. many moving parts bad. undue complexity bad. inconsistency bad. SQL databases fragile. always be reducing.
It’s amazing just how seductive complex, unproductive tools can be. Successfully overcome+abandoned:
- Doctrine ORM
- Backbone, Ember, Angular
- Symfony Security component
PHP remains productive and speedy (with composer, delightful dependency management), python nice with some irritations. jQuery useful when absolutely necessary, plain #js with small libraries loaded via requirejs handle most progressive enhancement concisely. node.js nice for some things, preferring go’s approach to async programming but still not much everyday need for it.
Avoiding middlemen: LESS, SASS, Coffeescript. Unnecessary for most of my work, and more moving parts is bad.
Now bothering me is the frameworky nonsense accumulating in #taproot. Need to cleanse.
What’s the best way of exchanging realtime data between applications on the same machine? Specifically, I want one application to be able to publish and many subscribe.
I get a little annoyed at #python every now and again (grr package management) but then I come across things like nested tuple unpacking which are just so lovely they make up for it:
for i, (key, value) in enumerate(list_of_tuples): print i, key, value
Are there any languages with datatypes with built in version control? Would be pretty great for debugging.
Musing on why we only turn to natural language for defining the behaviour of out applications instead of the business logic itself.
Rough ideas: gist.github.com/barnabywalters/6188240