2007-03-08

OPP 2007

Estive recentemente nos EUA na conferencia OPP 2007 (Oracle PL/SQL Programming).
Nessa conferência estiveram presentes as pessoas mais importantes no mundo de PL/SQL.

Entre as diversas sessões apresentadas gostaria de mencionar algumas:

- Steven Feuerstein na sua Keynote "Wake up and Smell the …"

...Roses
"Nós somos uns sortudos! Tudo o que temos de fazer é resolver problemas (puzzle), escrever a solução e ser pagos por isso!"

...The cofee
"Temos responsabilidade perante a sociedade: somos o interface entra as máquinas e a humanidade." Programar com ética. Se não formos nós, quem será?
E já agora cuidem do vosso corpo e em especiasl do vosso cérebro: bebam água, façam exercício e pausas frequentes.

...the Methodologies
"A comunidade do PL/SQL só quer "get the job done"" sem se preocupar muito com metodologias. Falou-se aqui das mais recentes como Extreme Programming, Agile Software Development, Test-Driven-Development e da antiga Structured Programming.
"PL/SQL is the COBOL of the 21st century."

Como sempre Steven mencionou por alto a sua mantra: não a GOTOs, variáveis globais e a código maior que 50 linhas!
A esta junta-se outra: não programar o mesmo SQL 2 vezes. De preferência não usar SQL!
Explicando esta última afirmação que é estranha no contexto de DBs: a ideia é ter uma libraria extensa e testada de todos os SQLs necessários de modo a que estes estejam optimizados.


- "PL/SQL Design Patterns - Pre-Inventing the Wheel" pelo Alex Nuijten que dando nomes "de patterns" a várias técnicas de programação, não mencionou nada que eu já não utiliza-se como pattern. No entanto e esse foi a parte mais interessante mencionou uma técnica de alteração automática de código PL/SQL e isso foi bastante interessante! Foi focado o uso de Aspect Object Programming em PL/SQL.

Sobre este assunto ver por exemplo:
http://www.revealnet.com/newsletter-v7/0906_B.htm

http://technology.amis.nl/blog/?p=1083
http://technology.amis.nl/blog/?p=1086
http://technology.amis.nl/blog/?p=1089
http://technology.amis.nl/blog/?p=1090
http://technology.amis.nl/blog/?p=1123

-Bryn Llewellyn na sua keynote "The Wonders of Oracle 11g PL/SQL"
Veio confirmar algumas da coisas que já mencionei num post passado

- possibilidade de usar sequencias sem utilizacao da tabela dual (sequence.nextval).

- cache de resultados de SQL e de PL/SQL ( /*+result_cache*/ )

- Fine Grained Dependancy Tracking - quando se altera uma tabela/procedimento (por exemplo uma nova coluna) não vai invalidar todos os objectos relacionados

- Os DML triggers são mais rápidos e poder-se-á estipular uma ordem de corrida. Poder-se-á mesmo ter triggers que são ao mesmo tempo before after row e statement.

- Novo tipo : SIMPLE_INTEGER mais rápido que o PLS_INTEGER e não pode ser nulo.

Atenção:O SIMPLE_INTEGER não faz ouverflow....se ultrapassado volta ao valor mais baixo!!

- optimzação INLINE: O optimizador irá colocar as funções/procedimentos "mais pequenos" de um pacote "inline" nos procedimentos/funções desse pacote (não inter-package :-( )

Vou adorar trocar os meus select a_seq.nextval into a from dual; por a:=a_seq.nextval;
No entanto, uma coisa que não vai aparecer na 11.1 é a contextualizar a compilação de um package, isto é a sua compilação não ficar presa (locked) por estar a ser usado :-).

...
Por agora é tudo mas voltarei com mais coisas sobre a OPP 2007

No comments:

Post a Comment

Os comentários são moderados.
The comments are moderated.