Sigo con la costumbre coleccionar enlaces, de distintos temas. Los que me llamaron la atención:
PHP
Es el lenguaje más usado para el desarrollo de sitios dinámicos en la web. Tiene la simplicidad necesaria, y también el soporte de clases, librerías, acceso a base de datos como para hacerlo más poderoso. Tal vez se ha quedado en el desarrollo web, perdiendo en el terreno de programas de consola, servicios, o de ventanas. Hay montañas de código de ejemplo para estudiar y aprender. Algunos enlaces:
PHP programming tips and tricks Code Purity
Scripts Directory of PHP, ASP, ASP.NET, Java, Javascript, Perl and more! – Scripts
43 Must Read PHP Articles and Resources Hi, I’m Grace Smith
How To Create Your Own Stats Program (JavaScript, AJAX, PHP) Noupe
25 Resources to Get You Started with PHP from Scratch – Nettuts+
15 Wonderfully Creative Uses for PHP
Hay cantidad de sitios manejadores de contenidos (CMS) pueden ver
10 New PHP Content Management Systems(CMS)
Para un rápido Altas, bajas y modicaciones ver AjaxCRUD.com – Use PHP & AJAX to CRUD from a mysql database (create / read / update / delete)
No creo que alguien pueda pasar fácilmente de PHP a ASP.NET pero pueden leer Move from PHP to ASP.NET
Tiene sus años, pero es interesante Understanding MVC in PHP – O’Reilly Media
Un armador de proyectos, a la Apache Ant, pero en PHP: Phing
Comenzando con Joomla Beginners – Joomla! Documentation
Veo implementando el Template Attribute Language en PHP: http://phptal.org/
DEBEN VER PHPCamp: learn something new everyday
Para perderse en enlaces, http://delicious.com/ajlopez/php
.NET
Para los que quieren ver manejadores de contenido (CMS) en ASP.NET:
http://aspx.opensourcecms.com/
El área de código abierto de .NET está bien activo: Open Source .NET projects
Para estudiar: Expert to Expert- Brian Beckman and Erik Meijer – Inside the .NET Reactive Framework (Rx) Going
Un ejemplo de referencia FabrikamShipping – Home con Geneva Framework, autenticación federada y tutti li fiocci.
Un camino a explorar: reemplazar ORM (Object Relational Mapping) en runtime por generación de código: .NET ORM, Object Relational Mapping for .NET Telerik
Librería para Twitter http://tweetsharp.com/
ASP.NET MVC 1.0 ejecutando en Mono shaml-architecture – Google Code Basado en s#arp-architecture
Para mapear objetos http://automapper.codeplex.com/ (menos para el bueno de Rodolfo Finochietti que prefiere hacerse su propio mapeador 🙂
Siempre es molesto el DataBinding a propiedades simples, habría que ver qué tal funciona http://www.codeproject.com/KB/cs/ObjectBindingSource.aspx (nested property binding)
Más de todo esto en http://delicious.com/ajlopez/dotnet
Generación de código
El proyecto Sculpture está muy bien armado, aunque focalizado en .NET http://sculpture.codeplex.com/ Es open source, se trasladó a la empresa:
Tienen una implementación de referencia: VotingManager.zip que partiendo de 55 líneas, consiguen generar una aplicación de 4111 líneas. Bueno, nada que el AjGenesis no pueda hacer… 🙂 … pero es más bonito.
Hibernate Class Generation Using hbm2java – O’Reilly Media Estoy reviendo esto, quiero comenzar a usar el tag <meta> para usar hibernate.cfg.xml y archivos .hbm.xml para alimentar como modelo a AjGenesis.
Para estudiar dos “approachs” Angle Bracket Percent – CodeDom vs T4- two approaches to Code Generation
Veo el editor de T4 T4 Editor – tangible T4 Editor plus UML tools
Desde AjGenesis puedo leer el archivo .dbml de Linq2Sql, que se puede generar desde la línea de comando con SqlMetal, tengo que estudiar Oleg Sych – » T4 Toolbox- LINQ to SQL classes generator
Yo tenía esta idea, pero la deseché por ser algo “convoluted”, pero es interesante: Using ASP.Net for Code Generation . En su tiempo, usé también PHP como lenguaje de generación, pero me gustó tener un lenguaje dedicado a generación con objetos dinámicos (AjBasic) con acceso a un framework de base (.NET por ahora), cosa que no tiene PHP en principio. Y en cuanto a usar ASP.NET, me obligaba a usar un lenguaje tipado .NET, que me resistía a hacerlo.
Siguiendo con T4, el lenguaje de templates de Visual Studio, a estudiar Angle Bracket Percent – The MVC T4 template is now up on CodePlex, and it does change your code
Parece interesante Sample Fluent NHibernate T4 Templates for Code Generation via LINQ To SQL
Steven Kelly siempre tiene algo interesante sobre DSM (Domain Specific Models) y generación de código. Comenta sobre Code Generation 2009 en Code Generation 2009 round-up
Para los que estén con el framework .NET de Lohtka, CSLA, pueden visitar el
Ruby es un lenguaje que se presta a la generación de código, ver esto, de hace algunos años, pero a cargo del bueno Jack Herrington, autor de Code Generation in Action (alguien que vió la luz!!! 🙂 :
Como siempre, más información en http://delicious.com/ajlopez/codegeneration
Lenguajes de Programación
Descubriendo un clásico: Let’s Build a Compiler
Un texto corto How does a an interpreter compiler work
Para estudiar Create a Language Compiler for the .NET Framework Using C# usa Reflection.Emit, bien a lo macho… 🙂
Hay que escribir intérpretes y compiladores, “compiler generators are for sissies” :-), pero si quieren, pueden ver The Compiler Generator Coco/R
Más para ver Free Compiler Construction Tools- Lexers, Parser Generators, Optimizers (thefreecountry.com) y Basics of Compiler Design (pdf)
Para estudiar:
Michael Feathers on Programming Languages
Io (programming language) – Wikipedia, the free encyclopedia
InfoQ- The Ioke JVM Language- The power of Lisp and Ruby with an intuitive syntax
Ending the Era of Patronizing Language Design
Un volver a vivir:
History of the BASIC family of languages
Otro para el canal “Volver”, entorno de desarrollo xBase:
Xailer – El entorno de desarrollo definitivo en xbase
Free Pascal compilers and Pascal Programming – Freebyte’s Guide to
Se acuerdan de MUMPS? MUMPS – Wikipedia, the free encyclopedia
Para leer APL, COBOL, & Dijkstra Paul Murphy ZDNet.com
Podría volver a estudiar: COBOL Programming Course, The COBOL Programming Language
Lista para buscar recursos Free Programming Tools, free compilers, free software components and
Excelente contenido Google Code University Programming Languages
Hay que ir viendo:
Clojure ver InfoQ- Rich Hickey on Clojure’s Features and Implementation
Yo sigo trabajando en reimplementar las ideas de Clojure en C#, lo llamaba AjClojure, pero Rick Hickey (el creador de Clojure) me pidió que le cambiara el nombre (al fin tengo evidencia de que alguien lee mi Twitter!!! 🙂 Así, que en un rapto de imaginación, se llama AjSharpure. Pueden ir viendo mis avances en:
http://code.google.com/p/ajlisp/source/browse#svn/trunk/AjSharpure
Más para ver sobre los lenguajes que me interesan en:
http://delicious.com/ajlopez/programminglanguages
http://delicious.com/ajlopez/smalltalk
http://delicious.com/ajlopez/logo
http://delicious.com/ajlopez/scala
http://delicious.com/ajlopez/lisp
http://delicious.com/ajlopez/forth
http://delicious.com/ajlopez/haskell
http://delicious.com/ajlopez/python
http://delicious.com/ajlopez/ruby
http://delicious.com/ajlopez/functionalprogramming
http://delicious.com/ajlopez/cobol
MVPs
El bueno de Rodolfo Finochietti fue nombrado Microsoft MVP por segundo año consecutivo. Felicitaciones @rodolfof! MVP for another year. También felicitaciones para el pibe Woloski, que renovó el nombramiento.
Nos leemos!
Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez