Notación tag, script y member

Notación tag, script y member

Coldfusion es un lenguaje que se ha modernizado mucho. Cuando empezó a finales de los 90's, el concepto eran etiquetas para consultas a base de datos (DBML) hoy es un mundo de posibilidades mucho más allá de cualquier otro lenguaje.

Hoy en día Coldfusion soporta las 3 formas de sintaxis más comunes en cualquier lenguaje de programación por lo que cualquier desarrollador se sentirá muy cómodo y en casa programando con Coldfusion.

Te explico cada una para que utilices la que más te convenga y cuando más te convenga. Las 3 pueden coexistir y la data es persistente entre ellas. todo es cuestión de estilos personales y lo que te permita poder tener un código más legible para todos. Esto debe ser el fin último de un buen desarrollador, y no las funciones con caracteres crípticos que pocos entienden.

Para mi el mejor ejemplo de lo que NO debe ser (aunque se utiliza muchísimo en desarrollo) es la sintaxis de las expresiones regulares por ejemplo, 30 años programando y aún sufro para entender que hace cada una o como construirlas. Si bien son compactas y muy poderosas, creo que el código moderno ya no se trata de hacer pequeño el código base sino de hacerlo bien estructurado y fácil de leer.

/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/i

Regex para validar un e-mail

Hay muchos ejemplos divertidos de lenguajes que así como nacieron, murieron o se volvieron trofeo de alguien. Aunque cumplan su objetivo no son fáciles de escribir, depurar ni mantener y por ende, no resulta en la adopción requerida. Algunos ejemplos de "HelloWorld" en algunos lenguajes "raros" son:

"Hello World" en Malbolage -
(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc

"Hello World" en Intercal -
DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READOUT ,1
PLEASE GIVE UP

"Hello World" en BrainFuck - 
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
 ..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

"Hello World" en Moo
MoO MoO MoO MoO MoO MoO MoO MoO MOO moO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO MoO MoO MoO
 MoO MoO moO MoO MoO MoO MoO mOo mOo mOo mOo mOo MOo moo moO moO moO moO Moo moO MOO mOo MoO moO MOo moo mOo MOo MOo MOo Moo MoO MoO 
 MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo MMM mOo mOo mOo MoO MoO MoO MoO Moo moO Moo MOO moO moO MOo mOo mOo MOo moo moO moO MoO 
 MoO MoO MoO MoO MoO MoO MoO Moo MMM MMM Moo MoO MoO MoO Moo MMM MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo mOo MoO Moo

 "Hello World" en Whitespace -
S S S T	S S T	S S S L
T	L
S S S S S T	T	S S T	S T	L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S T	T	T	T	L
T	L
S S S S S T	S T	T	S S L
T	L
S S S S S T	S S S S S L
T	L
S S S S S T	S T	S T	T	T	L
T	L
S S S S S T	T	S T	T	T	T	L
T	L
S S S S S T	T	T	S S T	S L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S S T	S S L
T	L
S S S S S T	S S S S T	L
T	L
S S L
L
L

A que no conocian todos estos.... ¡Y hay cientos más!

La realidad es que los lenguajes que sobreviven es porque tienden a ser fáciles de usar y usan patrones comunes para entenderlos. Considero que este fue el gran éxito de HTML y lo que intentó hacer XML hasta que lo llenaron de definiciones. El concepto clave es "Self-descriptive" (Lenguajes auto-descriptivos)

Aunque no todos son lenguajes, sino que algunos son más bien protocolos, estándares o hasta funciones; Lo que si tienen en común es la facilidad, la poca verbosidad y el uso de operandos que mantienen su nombre y generan esta auto descripción - (Int, For, echo, etc).

Enfoquémonos en los 3 tipos de sintaxis común que soporta Coldfusion.