PHP vs. Python Round 1
Hace dos días estoy mirando Python, y la verdad me ha parecido bastante sencillo de aprender aunque yo este mas estrechamente familiarizado con lenguajes de la corriente de ECMA, como parte de mi interés en este lenguaje me dio por hacer una prueba de rendimiento, aunque en algunos sitios daban como claro ganador a PHP sobre Python e incluso sobre otros.
He aquí la prueba, la cual consiste en hacer el ordenamiento por el método de la BURBUJA, según creo que es de los menos eficientes, el numero de elementos a organizar fue de 10.000 (Diez Mil).
import random #modulo random usado para generar los números aleatorios import time #modulo time usado para medir el tiempo de ejecución N = 10000 #definición del numero de elementos lista = [] #definición de la lista de números for i in range ( 0, N ) : #población de la lista lista.append ( int ( random.uniform ( 0, 100000 ) ) ) #función de ordenamiento de burbuja def bubble_sort ( lista ) : swap_test = False for i in range ( 0, len ( lista ) - 1 ): for j in range ( 0, len ( lista ) - i - 1 ): if lista[j] > lista[j + 1] : lista[j], lista[j + 1] = lista[j + 1], lista[j] swap_test = True if swap_test == False: break if __name__ == "__main__" : start = time.time() bubble_sort ( lista ) elapsed = (time.time() - start) print elapsed raw_input ( "Presiona enter para continuar..." )
El tiempo de ejecución del script en python fue en promedio de 15 segundos
function microtime_float(){ list($useg, $seg) = explode(" ", microtime()); return ((float)$useg + (float)$seg); } function create_list($size){ $l = array(); for($x = 0; $x < $size; $x++){ $l[] = rand(0, 100000); } return $l; } function bubble_sort($a){ $as = count($a); for($x = 0; $x < $as; $x++) { for($y = 0; $y < $as; $y++) { if($a[$x] < $a[$y]) { $hold = $a[$x]; $a[$x] = $a[$y]; $a[$y] = $hold; } } } } $ls = create_list(10000); $time_start = microtime_float(); bubble_sort($ls); //print_r($ls); $timing = microtime_float() - $time_start; print $timing;
Mientras que el tiempo de ejecución del script en php fue de 33 segundos en promedio, lo cual nos da un claro ganador en este round. PYTHON
Zapatero a tus zapatos
Desde hace mucho tiempo, he escuchado a personas que anteriormente trabajaban AS2 que tienen mucha dificultad para acoplarse a AS3 diciendo que Adobe los dejo fuera en el momento de sacar productos como CS3 y CS4, pero la desde mi punto de vista lo que hizo fue lo contrario, pensar en quienes diseñan y pensar el lo que programan separadamente y complementarios.
La idea es que el proceso de diseño se desarrollo a la par con la programación, pero no necesariamente por una misma persona, en grandes empresas de software lo que se busca es la especialización de actividades y al final alguien sincroniza el trabajo que han hecho otros para sacar un producto finalizado.
Yo no soy diseñador, así que todo el material gráfico me lo pasan a mi, yo hago la parte operacional del producto, a las personas que me pasan el diseño no les interesa como hago yo mi labor, lo único que les interesa es que gráficamente el producto finalizado se vea y se sienta como se planteo desde un inicio.
Lo que propongo es que si no se quiere aprender a trabajar Action Scrip 3, entonces que se aprenda a hacerlo bien o se consiga un socio estratégico para los proyectos que este especializado en programación, hay que pensar que cada año salen nuevos lenguajes, o evolución de alguno ya existente, nuevos programas, nuevas tecnologías, y si estas esperando a que se deje de dar soporte a lenguajes obsoletos para aprender unos mas actualizado, permite que alguien que si esta al tanto de la tecnología de punta te eche una mano.
Flash - Primera Aplicacion
La simple aplicacion que desarrollare a continuación permitirá mostrar la espina dorsal de flash con actionscript 3.
Todo comienza con un documento .fla, el cual debe ser configurado compatible con AS3.

Adicionalmente justo en la misma carpeta del archivo .fla creamos un archivo llamado Main.as, es importante el manejo de mayúsculas y minúsculas; dentro de este archivo pondremos el siguiente codigo.
package{ //declaración del paquete import flash.display.MovieClip; //importación de la clase MovieClip public class Main extends MovieClip{ //declaración de la clase public function Main():void{ //método constructor //cuerpo del método constructor } } }
El hecho de poner el archivo .fla y el código relacionado con este en un archivo aparte Main.as, va de acuerdo a las nuevas tendencias en el desarrollo de aplicacion y sitios web. La relación de estos dos se da al poner tal como vemos en la imagen el texto "Main" dentro del campo "Clase de documento"
Descarga archivos: primera_aplicacion
Wordpress - FrontEnd y BackEnd en diferentes idiomas
Hoy dedique varias horas tratando de lograr que una instalación de wordpress tuviera el frontend en un idioma (español) y el backend en otro (ingles), para los que tengan el mismo problema en alguna versión 2.7.x puede que el código a continuación les sirva de ayuda. Este código debe ser editado en el archivo /wp-includes/l10n.php puedes reemplazar la funcion llamada get_locale(), cuidado al reemplazar la función ya que yo lo implemente en una versión 2.7.1 de wordpress.
Básicamente lo que se hace es obligar a devolver el idioma en que queremos el backend, cuando se esta ejecutando algún script dentro de la carpeta /wp-admin/ o en el wp-login.php
function get_locale() { global $locale; if (isset($locale)){ if(strpos($_SERVER['SCRIPT_FILENAME'], "wp-admin") > 0 || strpos($_SERVER['SCRIPT_FILENAME'], "wp-login.php") > 0){ return 'en_US'; } else { return apply_filters( 'locale', $locale ); } } // WPLANG is defined in wp-config. if (defined('WPLANG')) $locale = WPLANG; if (empty($locale)) $locale = 'en_US'; $locale = apply_filters('locale', $locale); return $locale; }