[IAEP] Creacion de Programas / Program Creation

Carlos Rabassa carnen at mac.com
Thu Dec 1 06:44:48 EST 2011


English text follows the Spanish text

Los comentarios de Paolo de ayer,  el traducir el mensaje de Alan [Kay] sobre su experiencia durante la creación de Hypercard y las presentaciones que recientemente escuchamos sobre Gobierno Digital,  me llevaron a concluir que:

Los pasos básicos hacia el éxito cuando se crea un programa para computadora,  no han cambiado en muchos, muchos años.

Permítanme describirlos,  basados en mi experiencia de trabajo en el mundo real. 

Comencé como programador auto-didacta.

Muy pronto me di cuenta de que teníamos que contratar a un profesional.


Comenzando en 1981,  la IBM PC,  usando DOS como sistema operativo,  llevó a todos los diarios y revistas de negocios a hablar de la posibilidad de que los individuos y las pequeñas empresas pudiesen comprar computadoras.

En 1983 compramos la primer computadora para nuestro pequeño negocio. Representó un tremendo riesgo financiero para nosotros.

Mi experiencia como programador se limitaba a un curso de un semestre,  exclusivamente teórico, en 1966, sobre programación de la IBM 1401.  También escribía cartas y tarjetas postales usando la Atari de nuestro hijo.

Llamamos a un vecino que tenía una tienda que vendía las nuevas PCs.  Compramos una.  Rápidamente discutimos nuestros planes.  Nos ofreció los tres programas que compramos para las tres tareas que intentábamos hacer: procesador de palabras, base de datos y planilla de cálculo.

En muy poco tiempo logramos nuestra meta.

Revisamos cuidadosamente muchas veces nuestros procedimientos manuales.  Usamos la computadora para imitar lo que ya estábamos haciendo manualmente. 

Funcionó muy bien.

Muy pronto comenzamos a descubrir nuestras limitaciones:

- Una sola persona en la oficina,  aparte de mi, estaba dispuesta a usar la computadora. Esto provisto que yo estuviese siempre disponible para consultas y ayuda.  ¿Suena como la situación en algunas escuelas de hoy?  

- Surgían a diario docenas de ideas,  del tipo "qué bueno sería si pudiésemos hacer tal o cual cosa,  pero el programa no nos lo permite".  No habíamos conocido todavía a nuestro nuevo amigo Ratman pero,  mirando hacia atrás puedo ver que estábamos atrapados en la jaula de oro.

La computadora,  equipos periféricos y programas eran muy caros.  Esto significaba que teníamos que apurarnos a sacar el mayor provecho de tenerlos.  Estabamos en el mundo real y cruel.  Teníamos que tener éxito pronto y traducir ese éxito a dinero para pagar el nuevo equipo y los programas.  No teníamos ninguna clase de respaldo de gobierno o institucional. 

¿Se ve claro ahora de donde viene mi ansiedad por ver al Plan Ceibal consolidando su éxito lo más rápidamente posible?  ¿Les recuerda la "ventana de oportunidad" de que habla Alan [Kay]? Eramos una empresa muy pequeña que operaba dentro de un régimen capitalista.  No teníamos más alternativa que jugar según las reglas del juego o,  abandonarlo todo,  incluyendo a las familias que dependían de nuestro éxito.

Contratamos a un estudiante de informática.

Parece que ya había tenido experiencia difícil escribiendo programas para clientes que lo enloquecían con preguntas y problemas interminables.

Estableció reglas muy claras el mismo día que lo entrevistamos:


- Lo acepto como cliente, únicamente porque veo que usted ha hecho mucho solo y ahora se da cuenta de que necesita ayuda profesional.

- Tengo que estar fuera de esta oficina en dos meses a partir de hoy.  Si usted me ayuda,  podrá entonces continuar por su cuenta.

- Antes de que comencemos,  tiene que comprar un "programa de verdad".  Puede conservar su procesador de texto.  Con este programa que le estoy recomendando,  remplazará la base de datos y la planilla de cálculo que tiene ahora. 

- Crearé una aplicación a la medida para su trabajo.  Correrá sobre este programa de verdad que le estoy sugiriendo.

- Me escuchará al final de cada día para enterarse de nuestro progreso.  Le mostraré el código que usted encontrará muy fácil de entender.

- Cuando me marche,  dentro de dos meses,  le dejaré el código para que cuando se le ocurran nuevas ideas para mejorar su operación,  pueda cambiar el código usted mismo.  No se preocupe,  pondré muchos comentarios dentro del código.  Podrá leer en Inglés de uso diario y descubrir para que sirve cada grupo de líneas de código. 

- Después de eso,  estaré disponible únicamente por teléfono y para tomar control de su computadora,  desde mi oficina mientras usted observa desde aquí lo que hago.

- Estas primeras consultas a distancia estarán incluídas en el precio del proyecto.  Luego tendré que cobrarle por mi tiempo.


Entre las muchas cosas que hizo,  creó muchas pantallas fáciles de usar para entrada de datos y muchos informes fáciles de leer,  que teníamos que imprimir. 

Esto nos permitió ver exactamente la misma diferencia a que se refiere Alan [Kay] entre sus programas que eran grandiosos según él cuando los usaba él mismo y la versión muy mejorada que los demás consideraban grandiosos. 

Ahora todos en la oficina eran capaces de usar la computadora y de leer los informes.

El tiempo de aprendizaje fue sorpresivamente corto.  Los problemas fueron sorpresivamente pocos y fáciles de resolver.

Estábamos haciendo el mismo trabajo de antes,  mucho más fácilmente,  más rápido y con menos errores.

Teníamos ahora tiempo para leer los informes que imprimíamos e inspirarnos con nuevas ideas.

El mayor hincha del nuevo sistema era uno de nuestros compañeros,  de 83 años de edad.  No tocaba la computadora pero se pasaba todo el día leyendo nuestros informes y teniendo ideas excelentes.  Nos preguntaba constantemente si sería posible implementarlas.  Me doy cuenta ahora de que él estaba haciendo la parte más importante del trabajo de crear un programa de computadora útil,  el trabajo que ningún escritor de código puede hacer.  

¿Queda claro ahora por qué los educadores son esenciales en la creación de programas educativos? ¿Queda claro que pueden hacer contribuciones muy importantes aún si se rehusan a aprender a escribir código? ¿Queda claro por qué los que se encargan de nuestro Gobierno Electrónico,  hablan tanto sobre trabajar en equipo?

Llegados a este punto,  pensábamos sobre nuevas ideas que únicamente eran posibles ahora que teníamos la computadora.   Comenzamos a hacer cosas que no se podían hacer a mano.  Ese fue el progreso verdadero!

Era muy fácil compilar estadísticas.  Era fácil presentarlas de manera que casi nos hablaban diciéndonos las mejoras que necesitábamos y cómo implementarlas. 

Estábamos encontrando mejoras potenciales no sólo en nuestro sistema informático sino también en nuestra operación en el mundo real.


English text

Paolo´s comments of yesterday,  translating Alan [Kay]´s message about his experience during the creation of Hypercard and the presentations we recently attended on Digital Government,  made me conclude:

The basic steps towards success when creating a new computer program,  have not changed in many,  many years.  

Let me describe them,  based on my own experience from work in the real world.

I started as a self-taught programmer.

Pretty soon realized we had to hire a professional.


Starting in 1981 the IBM PC,  using DOS as the operating system,  caused every newspaper and business magazine to talk about the possibility of individuals and small businesses affording computers. 

In 1983 we bought our first computer for our small business. It represented a huge financial risk for us.

My experience as a programmer was limited to a theory-only six-month course in 1966 on programming the IBM 1401.  I also used to write letters and postcards using our son´s Atari.

We called a neighbor who had a store selling the new PCs.  We bought one.  We briefly discussed about our plans.  He offered us the three programs we bought,  for the three tasks we were attempting to do: word processor, database and spreadsheet.

In a very short time we accomplished our goal.

We carefully reviewed many times our manual operating procedures.  We used the computer to mimic what we were doing manually.

It worked very well.

Very soon we started to discover our limitations:

- Only one person in the office, besides myself, was willing to use the computer. That was provided I stayed around all the time available for questions and help.  Sounds like the situation in some schools of today?

- Ideas would come up by the dozen every day,  of the type "how nice it would be if we could do this and that,  but the program doesn´t allow us to do it".  We had never heard from our new friend Ratman but,  looking back I can see how we were trapped inside the golden cage.

The computer and its peripherals and programs were very expensive.  This meant we had to rush to take the most advantage of having them.  We were in the cruel real world.  We had to succeed soon and quickly translate success into money to pay for the new hardware and software.  We didn´t have any kind of government or institutional backing.

Can you see now clearly why I am so anxious to see Plan Ceibal consolidating its success as fast as possible?  Does this remind you of Alan [Kay]´s "window of opportunity"? We were a very small company operating within a capitalist regime.  We had no other option but playing by the rules of the game or abandoning everything,  including the families who depended on our success. 

We hired a computer science student.

It seemed he had already experienced the difficulty of writing programs for clients who drove him crazy with endless questions and problems.

He set the rules very clearly the very same day we first interviewed him:

- I accept you as a client only because I see you have done a lot by yourself and now realize you need professional help.

- I have to be out of this office two months from now.  If you help me,  you should by then be able to continue on your own.

- Before we start you have to buy a "real database program".  You may keep your word processor.  With this program I am recommending,  you can replace your current database and spreadsheet.

- I will create a custom application for all your work.  It will run on this real program I am suggesting.

- You will listen to me at the end of every day to learn about our progress.  I will show you the code which you will find very easy to understand.

- When I leave you,  in two months, I will leave you the code so when you get new ideas on how to improve your operation,  you can change the code yourself.  Don´t worry,  I will put plenty of comments within the code.  You will be able to read in plain English and find out the purpose of every group of code lines.

- After that I will only be available by phone and taking control of your computer from my own office while you watch from this office what I do.

- These first few distance consultations will be included in my project price.  After that I will have to charge you for my time.


Among the many things he did was creating many easy-to-use data entry screens and easy-to-read reports that we had to print.

This allowed us to see exactly the same difference that Alan [Kay] refers to,  between his programs that were great for him to use and the much improved version that others found great to use.

Now everyone in the office could use the computer and read the reports.

The learning curve was surprisingly fast.  Problems were surprisingly few and easy to resolve.

We were doing the same work as before,  much easily,  faster,  with less errors.

We had now time to read the reports we were printing and get inspired with new ideas.

The biggest fan of the new system was one of our co-workers,  83-years old.  He wouldn´t touch the computer but would spend all his day reading our reports and coming up with excellent ideas.  He kept asking if it was feasible to implement them.  I now realize he was doing,  the most important portion of the work of creating a useful computer program,  the one no code-writer can take care of.  

¿Is it now clear why educators are essential in creating educational programs? ¿Is it clear they can make tremendous contributions even if they refuse to learn how to write code? ¿Is it clear now why the people taking care of our E-Government talk so much about working as teams?

Once at this point,  we were thinking of new ideas that were feasible only now that we had the computer.  We started doing things we couldn´t do by hand.  That was the real progress!

Statistics were very easy to compile.  It was easy to present them in a way they would almost speak to us telling us what improvements we needed and how to implement them.

We were finding areas to improve not only in the computer system but in our real world operation.


Carlos Rabassa
Volunteer
Plan Ceibal Support Network
Montevideo, Uruguay



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/iaep/attachments/20111201/020d4ab0/attachment-0001.html>


More information about the IAEP mailing list