Metodología de la programación, pseudocódigo.

Kr4n3oK

Pues eso, saber si teneis apuntes o cosas importantes de metodologia pseudocodigo, tengo yo algunos pdfs que me han dado en clase, pero.., no son suficientes, si teneis algo me gustaría que los postearais. Gracias y saludos.

Buffoncete

perdón por el offtopic pero ahora que estoy fuera desde hace algún tiempo he de decir, cómo nos engañan en la universidad! xD

Seguramente con los apuntes que te han dado es suficiente!, es como programar pero en castellano, yo dedicaría el tiempo si quieres a estudiar tecnologías "nuevas".

  • flex4
  • jquery
  • html5
  • ruby

Y si te mola algo específico como mi caso, pues algo más duro

  • C++
  • OpenGL
  • algoritmos de IA
  • redes neuronales.

Pero dedícale el tiempo justo al pseudocódigo, luego usando OCL y diseño pensarás que fue una perdida de tiempo. Toda la mierda esa de "aprender pseudocódigo está de puta madre xq luego la traducción a cualquier lenguaje es 'directa'" es una chorrada, de C o Java puedes pasar a cualquier lenguaje también y los profesores se acababan cansando de escribir en pseudocódigo y acaban poniéndolo todo en Java.

--

PD: Perdón por el offtopic pero al llegar al último año en la FIB (upc) me di cuenta que tiene más asignaturas relleno que Naruto, para lo único que me sirvieron los 2 primeros años de carrera fue para aplicar ahora los conocimientos estadísticos en las timbas de poker y para haberme estado en el gimnasio de la UPC (que es muy barato por ser estudiante)

Deoxys

Completamente de acuerdo con #2, el pseudocódigo está bien para explicar dos o tres algoritmos al principio, pero luego es más un lastre que una herramienta (acabas teniendo que aprender Java, C++, y la porqueria de pseudocodigo para poder entender los apuntes o las transparencias). No le dediques más tiempo del necesario.

Kr4n3oK

XDDDD ok entendido, pues andare con lo que tengo y ya xDD

Buffoncete

Como información añadida a mi post anterior, salir de la carrera con una media de 8 es lo mismo que salir con una media de 5. Peeeeeero.

Salir de la carrera con una media de 5 habiendo intervenido en proyectos libres (a,b,c,d,e) además de realizar los proyectos por tu cuenta (f,g,h,i) es MUUUUUUUCHO más valioso que salir de la carrera con una media de 8 pasándote el resto del día jugando al wow xD

Y muchísimo más importante por desgracia, ser ingeniero informático no significa programar en una empresa, significa diseñar y ser creativo, y lo peor de todo, ser comercial. Así que una apariencia grotesca de wowero gordinflón te va a servir para poco si no llegas a una frikiempresa linuxera :P.

MTX_Anubis

#5 Y es más valioso salir con una media de 8 y habiendo hecho proyectos por tu cuenta.

Las medias no sirven hasta que ves que dan becas para hacer los doctorados en EEUU o similares y te das cuenta de que jamás podrás acceder esa beca xD

Buffoncete

Normalmente el que hace proyectos por su cuenta tiene esa media, mi mensaje anterior no se ha de leer de forma estricta, sino que hay que darle más importancia para lo que sirve realmente una universidad, a la de investigar, que a encerrarse en casa para sacar un 10 en un examen.

Los resultados vienen solos.

cabron

#2 y #3 Totalmente en desacuerdo, opino que el pseudocódigo es algo muy útil y usarlo mejora notablemente la calidad de tú trabajo, consigues que todo funcione antes, más fácil, y mejor. El problema es que su ámbito de aplicación está limitado exclusivamente al diseño del código de una función/rutina, es decir, es el paso final antes de sentarse a escribir código en sí.

Antes de llegar a ese punto, hay cosas que el pseudocódigo no resuelve (división en módulos, jerarquía de clases, comunicación de unas partes con otras, etc), y si lo único que sabes hacer antes de sentarte a picar código es pseudocódigo, pues entonces sí, estás jodido.

Para poder analizar, diseñar y expresar esas otras cosas, hay prácticas más adecuadas, pero una vez has llegado al punto de empezar a picar, hacerlo en pseudocódigo y darle unas cuantas vueltas antes de hacerlo de verdad, es bastante útil.

Y por cierto que hacer las cosas en pseudocódigo no significa simplemente "programar" con palabras en castellano y sin reglas del compilador, es aplicar ciertas prácticas a la hora de elegir las instrucciones y la estructura del código en general.

H4z4rD

#2, #3 y #8 Yo estoy en desacuerdo con todos. El Pseudocódigo una vez aprendáis a programar no lo vais a volver a ver en la vida, no es útil como tal, no sirve para mejorar la calidad el trabajo ni mucho menos porque es algo muy genérico, pero es vital en el aprendizaje.
Vosotros ahora estáis a prendiendo a programar, el pseudocodigo ayuda a crear la metodología de programacion(o mejor dicho, la mentalidad del programador) que vais a usar independientemente del lenguaje de programación que useis. Cuando acabeis de estudiar sabreis programar, no Java, ni C, ni Fortran... Una vez que sabes programar, solo necesitas adaptarlo a cada lenguaje pero la base es la misma, un bucle es un bucle en todos los lenguajes, una sentencia condicional es una sentencia condicional en todos los lenguajes de programacion.

Pensad que la moda hoy día es Java y/o .Net, pero mañana puede haber un lenguaje nuevo. Y nosotros como ingenieros informáticos tendremos que estar preparados para utilizarlo.

Un símil: un arquitecto(por ejemplo) no aprende a diseñar edificios de ladrillos, aprende a diseñar edificios en general, después tendrá sus asignaturas sobre materiales de construcción o movidas así, y cuando ponga sus conocimientos en practica, diseñara edificios de ladrillos, de hormigón, de madera o un material nuevo que aparezca años después de haber estudiado su carrera, del que seguramente tendrá que hacer un curso o estudiar cierta documentación por su cuenta, para conocer sus propiedades, resistencia, durabilidad, etc. Al igual que nosotros no dejamos de dar cursos para ir adaptándonos a las nuevas tecnologías.

cabron

#9

Un detalle... no estoy aprendiendo a programar, de hecho llevo trabajando varios años... si no estás de acuerdo en algo que digo me parece bien, pero si quieres convencerme, lo vas a tener que argumentar con algo mejor que "es que todavía no sabes, ya lo verás cuando aprendas"

H4z4rD

#9 Eso iba para #2 y #3 que son los que dicen que no vale para nada.
Y tu que estas trabajando, y que sabes programar creo que si lees mi post sabrás perfectamente a lo que me refiero.

En lo que no estoy de acuerdo contigo es en que el pseudocodigo sea "algo útil que mejora notablemente la calidad de tu trabajo", me explicaras como cabron ;)

El pseudocodigo solo sirve para aprender, y es una gran herramienta.

Puni

A mi el pseudocodigo me vale casi unicamente como un to-do-list

cabron

#11

Hombre como pusiste los 3 números juntos me di por aludido.

Sobre lo de explicar como mejora tu trabajo:

http://www.amazon.com/Complete-Microsoft-Programming-Steve-McConnell/dp/1556154844

GamA

Yo no se donde habéis estudiado, porque en mi carrera dimos pseudocódigo un día, al día siguiente todos a java... :/

La verdad es que el pseudocódigo sirve de poco, como mucho para hacerte una idea de como se programa si nunca has programado, pero una vez sabes es una tontería usar pseudocódigo.

De todas formas #9, creo que estarás conmigo cuando digo que si sabes programar de verdad, no es porque sepas programar en Java, en C o en Ruby, sino porque entiendes el paradigma de orientación a objetos, la programación estructurada,...

El lenguaje como bien dices cambia y no deberíamos atarnos a nada, pero si sabes programar de verdad y tienes la cabeza bien amueblada en este ámbito aunque te cambien el lenguaje sabrás continuar.

De hecho yo nunca di VB, fui a casa de un amigo que estaba haciendo el módulo superior y coincidió que estaba atascado en una práctica de VB y no sabía porque. Le miré el código y dije "no entiendo de Visual Basic, pero lo que te falla es esto..." y era cierto. Creaba objetos y no sabía cambiarle el valor a sus variables, llamar a sus métodos, etcétera.

Vamos que el lenguaje es lo de menos, en OO si manejas bien la herencia, polimorfismo, encapsulación, patrones de diseño, etcétera, aunque te cambien el lenguaje ya llevas mucho contigo.

dagavi

Na, el pseudocódigo no vale pa na.

De hecho en mi universidad quitaron el curso en el que yo entré el pseudocódigo de la asignatura de programación. Todo se explicaba en C++ (si bien podía ser perfectamente C ya que no se daba nada realmente de C++, más que usar "cin" o declarar "vector" ).

En la segunda asignatura no habían quitado el pseudocódigo (parte de su evaluación es la documentación), sin embargo todos llegábamos con la misma sensación: no hago más que programar 2 veces, una en C++ y otra en "pseudocódigo".

Para que coño tengo que poner

si a < 3 entonces algo fsi

Si queda igual de claro poner

if (a < 3) algo;

Realmente era casi una traducción del inglés al castellano. Decís que sirve ara "abstraerte" del lenguaje, me parece una tontería, si te ponen un nuevo lenguaje te adaptas igual de bien sabiendo pseudocódigo que sabiendo C.

Gnos1s

Gracias a cabron me ahorro escribiros lo mismo que ha escrito en sus post (y me relajo, que me ha dado un poco de rage al leer tanta tontería...)

El secreto es la abstracción. Si sabes hacerlo en pseudocódigo, pasarlo es conocer las particularidades del lenguaje.

Por tanto, es lo mejor, no solo para aprender, sino para hacer proyectos grandes.

Yo siempre cojo un papel antes de nada, y hago un "boceto". No es hacer línea a línea.

Buffoncete

#9

Está bien que no estés de acuerdo conmigo, pero tampoco intentes ir de listo y decir "estáis aprendiendo".

llevo ya 8 años trabajando en este mundo, jefe de proyectos además de profesor en la universidad y macho, en ningún momento le he dicho que no aprenda pseudocódigo, le he dicho que no le dedique más del tiempo necesario para aprobar, porque si como yo llevas trabajando en este mundo mucho tiempo, el pseudocódigo es una pérdida de tiempo.

En un mundo donde tu proyecto se valora por horas dedicadas, que se reparten entre (jefe de proyecto + analistas + arquitecto + programadores) dedicar tiempo al pseudocódigo es una CHORRADA.

Quizá eres profesor de primero y lo ves como algo necesario, quizá te han enseñado mal, también te digo que hice en mis tiempos mozos de auxiliar de laboratorio y el profesor no tenía ni puta idea de programación y todas las clases + practicas de laboratorio las hacia yo y hoy por hoy, donde la moda es ¿java y .net?, no tio, te equivocas.

La moda es Java, pero hibernate, Struts, Jboss, metodologías ágiles, Flex (BlazeDS, Lifecycle), php y programación de webservices. es decir, la moda es hacer RIA, cosa que .NET con su silverlight aún no se puede permitir.

--

Y respeto tu opinión, dices que lo ves necesario, pues yo desde 3º de carrera no he vuelto a ver una linea de pseudocódigo, ni en la propia univesidad y mucho menos en el trabajo, donde te piden un diseño, una estimación de horas y una programación, lo que tú entiendes por pseudocódigo yo lo entiendo por diagrama de sequencia y de flujo, que es mucho más intuitivo y si que es lenguaje independiente, dime como pasas de pseudocódigo a LISP o a cualquier lenguaje de análisis sintáctico.

Tio, que tengo los huevos pelados en esto ya :P

Soltrac

Hola, venía a programar un driver en modo kernel en pseudocódigo.

DaRk-eXe

pseudocodigo no es mas que Pascal en español... la misma sintaxis..

Gnos1s

Algunos no entendéis que pseudocódigo puede ser saber qué hacer, escribiéndo 4-5 líneas, para tener un esquema muy a alto nivel y luego picar el código...

Buffoncete

lo que algunos no entendéis es que esas 4 lineas las haces con UML, diagrama de secuencia y un diagrama de casos de uso, tardas el mismo tiempo, se entiende mejor y no sólo por universitarios Españoles, te lo entienden los programadores chinos, indios y de bangladesh.

Algunos habláis desde el conocimiento universitario, que si, que para aprender está muy bien, pero deja de decir chorradas a nivel empresarial tio, un ingeniero tiene que hacerlo todo de la manera más eficiente y reusable posible, y precisamente el pseudocódigo sólo sirve como una herramienta para alguien que no tiene ni idea de programar e introducirlo con un lenguaje común y fácil de adquirir, no se me ocurriría enseñar a un chico de primero UML directamente, pero tampoco le aconsejaría a un chico de primero dedicarle más del tiempo necesario a pseudocódigo, no leíste que soy profesor universitario además de jefe de proyectos en una empresa ?

Pero para que esforzarse, cuando estaba en segundo de carrera trabajé en una empresa donde el jefe de proyectos utilizaba Excel para hacer los diseños y Visio para el Gantt.

En fin, hacer las cosas bien es gratis de momento.

BLZKZ

Es curioso como en una de las ultimas asignaturas y de las mas jodidas de mi carrera (MTP) se haga en pseudocodigo y TODOS sabemos programar cuando la cursamos. La asignatura se reduce a diseñar algoritmos avanzados (Metodología y Tecnología de la Programación)

Y para hacerme idea de cómo tengo que hacer algo en programacion nunca pienso directamente en la solucion en un lenguaje, sino en algo mas a alto nivel (pseudocodigo) y luego ya empiezo. Y como yo lo hace mucha gente y no solo compañeros sino profesores :/

Por cierto qué tiene que ver UML, con psudocódigo? vamos ahora resulta que un programador se va a poner a modelar una aplicación (va a ser que no)

1
Buffoncete

Hago un diseño con UML y cualquier programador lo entiende, el "pseudocódigo de un algoritmo" se hace con diagramas de secuencia.

Hago un diseño de un algoritmo con pseudocódigo y sólo lo entienden españoles.

Y lo más importante, los algoritmos importantes ya están programados y una cosa me quedó clara, nunca reinventar la rueda.

BLZKZ

#23 yo no he hablado de uml salvo porque tu lo has nombrado no se que pinta aquí.

Yo no he dicho que tengas que hacer pseudocodigo para que los demas lo entiendan sino para que tú entiendas el problema y como solucionarlo.

Analogía: (lo especifico que se te ve corto de entendederas)
Tu cuando tienes que hacer desarrollar una aplicacion (damos por supuesto que no vas a reutilizar ninguna) que haces, te pones a programarla directamente o estudias requisitos, haces diseño y analisis y a partir de ahi la mandas implementar?

Pues cuando a mi me mandan a programar algo (ya me lo pasen con diagramas uml o de secuencia o casos de uso o blablabla) primero me hago una idea de cómo narices lo tengo que hacer (ahi es donde entra el pseudocodigo) y luego lo implemento.

El paso del "hacerlo con pseudocodigo" no tiene por qué ser escrito, sino mental (y siempre programo con lapiz y papel al lado para apuntar ideas por ejemplo)

Pero se conoce que tu eres especial eres tan listo que directamente vas a un cliente, te pide que le hagas algo y tu por arte de magia lo escribes se lo entregas y es SW perfecto xD

dagavi

Diría que aquí el problema está en a que hacemos referencia a pseudocódigo.

Por el comentario de #24 es como simplemente pensar en que vas a hacer, algo que supongo todos hacemos. No somos unas putas máquinas que nos ponemos a escribir linea tras linea de forma automática, si no tenemos que pensar que hacer y eso se hace en lenguaje natural (ya sea castellano, catalán, gallego, inglés, alemán...).

Sin embargo si miramos #1 está pidiendo información sobre pseudocódigo para aprenderlo, es decir, como aprender a "escribir pseudocódigo formalmente", o lo que es lo mismo, aprender un lenguaje de programación que no vale para nada (bueno si, para que los libros de algoritmia puedan ser language-free).

Aquí lo que, o al menos eso pienso, critiamos los que decimos: pseudocódigo es una puta mierda, es el echo de tener un lenguaje formal (bastante estricto) para definir con mucho detalle (por no decir por completo) un algoritmo, cuando escrito en casi cualquier lenguaje imperativo se entiende exactamente igual aunque una persona no sepa ese lenguaje (ya que al fin y al cabo son todo lo mismo, bucles, condicionales, etc.)

Otra cosa es que a pseudocódigo le estéis llamando a pensar que hacer, que como digo también supongo que todos lo haremos ya que tendrás que saber que hacer, pero eso es simplemente eso, pensar en lenguaje natural, o hacerte un esquema de lo que vas a realizar.

// nextTask = next_task()
// current = current()
// encolar(current)
// ejecutar(nextTask)

B

#5: Estoy de acuerdo contigo pero la media es importante para muchas cosas (como para hacer el doctorado por ejemplo).

A mí el pseudo-código me parece útil, aunque yo lo uso como #16. No me pongo a escribir el programa como un retard, pero hago un boceto interesante que me ayuda después.

PD: Soy el único que pensó en comprarse una pizarra como las que tienen Sheldon y Leonard para hacer estas cosas.

BLZKZ

#25 yo no lo interpreté asi, y si no me equivoco cabron hablaba casi de lo mismo que yo (imagino que el mete también el hacerlo siempre a papel, pero como ayuda al ti mismo como programador)

#26 yo la he usado xDDDDDDDDD

Thanat0s

Yo uso pseudocódigo para hacerme mis movidas mentales en plan esquema super reducido cuando el programa es muy grande, y sino me meto a programar el tocho a pelo sin pensarlo y lo voy rectificando según veo que necesito cosas.

Sin embargo cuando tienes un examen escrito y no puedes hacer copy&paste o borrar, o haces pseudocódigo de todo antes de ponerte a escribir el código o te puedes morir borrando con el tipex.

Buffoncete

#24 qué necesidad de faltar para intentar llevar razón macho, así lo único que consigues es perderla!

#1 pide consejo para aprender pseudocódigo, está muy claro "<Pues eso, saber si teneis apuntes o cosas importantes de metodologia pseudocodigo, tengo yo algunos pdfs que me han dado en clase, pero.., no son suficientes, si teneis algo me gustaría que los postearais. Gracias y saludos. >"

Vamos, que tiene miedo de llegar al examen y no sacar la máxima nota, y yo le digo después de mis 8 años de profesión, llevo currando de "ingeniero" desde 2º de carrera, que el pseudocódigo no lo va a usar después de 3º.

Él será responsable después de leer todos los comentarios de hacer lo que crea más conveniente, y ni yo te voy a llamar a ti cortito ni nada por el estilo para intentar llevarte la razón, xq con el hecho de que me lo llames tú a mi ya la estoy llevando. Así que deja al chaval que lea el foro tranquilo, sin que nadie falte a nadie y tome su propia decisión después de leer varios post, a poder ser, constructivos.

Y no, no es demagogia.

BLZKZ

#29 perdona, no decia que eras cortito por no entender lo que dice #1 decia que lo eras por no entender lo que decia yo, pero bueno, sino me crees en #29 has corroborado que sigues sin enterarte de lo que digo :D

Usuarios habituales

  • BLZKZ
  • Buffoncete
  • dagavi
  • Gnos1s
  • cabron
  • H4z4rD
  • Kr4n3oK