Autor |
Mensaje |
victorbsd
Nivel 5

Edad: 53
Registrado: 11 Oct 2010
Mensajes: 171
Carrera: Informática y Sistemas

|
|
Este dinosaurio pasaba horas delante de esto:
Era cuando los hombres programabamos nuestros propios juegos.
Disculpen si no soy muy academico.
|
|
|
|
_________________
|
|
 |
    |
 |
Sebastian Santisi
Administrador Técnico
Edad: 40
Registrado: 23 Ago 2005
Mensajes: 17450

|
|
4WD escribió:
|
Código:
|
def bubblesort(lst):
"Sorts list in place and returns it."
for passesLeft in range(len(lst)-1, 0, -1):
for index in range(passesLeft):
if lst[index] < lst[index + 1]:
lst[index], lst[index + 1] = lst[index + 1], lst[index]
return lst
|
|
Una observación al respecto de este ordenamiento: Ordena cualquier cosa donde tenga sentido la operación "<".
(Ya que mencionaron Haskell, algo muy interesante de los lenguajes con inferencia dinámica de tipos es cómo reconstruyen el tipo de una función en base a este tipo de detalles. Al compilador/intérprete de Haskell si le pasás un choclo así te dice que lst tiene que ser una lista de ordenables.)
victorbsd escribió:
|
en 4 meses vas a aprender a programar bien?, porque en Alg II usas C , no?.
|
No vas a aprender a programar bien; pero sí es importante que no empieces con vicios y prejuicios estúpidos... uno por ejemplo es el del quote anterior: No hace falta reimplementar cada cosa con un tipo diferente cuando lo que importa es la operación abstracta de ordenado, donde el algoritmo está condicionado a cómo ordenar, no a qué ordenás.
(Y, respondiéndole a facundo.olano, creo que mucha gente usa C++ por los templates, que son la expresión más horrenda de ese prejuicio.)
Al respecto del lenguaje de Algoritmos II del curso que da Python en Algoritmos I; sí, se da C, no porque se los quiera torturar sino porque memoria dinámica y punteros es un tema del temario y no puede darse en Python. La elección estuvo entre C y D descartándose D por lo verde del proceso de estabilización y el hecho de que no hay ningún compilador de la calidad del GCC aún.
victorbsd escribió:
|
Se a donde apuntas ( se llama algoritmia) y porque el Pascal no sea tan comercial o no tan productivo como otros lenguajes no debe ser dejado de lado, porque Pascal tiene un objetivo : enseñar a programar.
|
Y si tenés un lenguaje totalmente profesional que tiene la misma cualidad de ser intuitivísimo para enseñar a programar (y, claramente de los ejemplos de 4WD incluso mucho más claro y transparente); ¿por qué elegir uno de juguete?
No estás defendiendo Oz, que tiene un diseño impecable y soporta un montón de paradigmas. Estás defendiendo Pascal.
|
|
|
|
_________________
 ![[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex] [tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex]](images/latex/d678cf273c99d2546c259db3422b3d968b184721_0.png)
|
|
 |
     |
 |
4WD
Administrador

Edad: 38
Registrado: 07 Sep 2006
Mensajes: 2430
Ubicación: Ingeniero
Carrera: Mecánica

|
|
Sebastian Santisi escribió:
|
Una observación al respecto de este ordenamiento: Ordena cualquier cosa donde tenga sentido la operación "<".
|
Por eso me fui a ordenamiento
Me parece que la abstracción es más pura y clara...
__cmp__ rulez!
Casi que off-topiqueo: ¿Computación (75.01) también merece Python o tiene que seguir padeciendo Pascal?
Lo pregunta alguien que supuestamente aprobó sabiendo ese lenguaje...
|
|
|
|
_________________



|
|
 |
    |
 |
Sebastian Santisi
Administrador Técnico
Edad: 40
Registrado: 23 Ago 2005
Mensajes: 17450

|
|
4WD escribió:
|
Casi que off-topiqueo: ¿Computación (75.01) también merece Python o tiene que seguir padeciendo Pascal?
|
Si yo tuviera algún poder de decisión al respecto daría o Matlab (léase Octave, obviamente) o Python con alguna biblioteca que emule al anterior.
En 4 horas tenés que dejarle al estudiante algo que le sirva para saber rudimentos de programación y le sirva para programar lo que necesite a lo largo de su carrera.
|
|
|
|
_________________
 ![[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex] [tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex]](images/latex/d678cf273c99d2546c259db3422b3d968b184721_0.png)
|
|
 |
     |
 |
EpidemiaN
Nivel 7

Edad: 34
Registrado: 28 Ago 2007
Mensajes: 402
Carrera: Informática

|
|
Sebastian Santisi escribió:
|
Si yo tuviera algún poder de decisión al respecto daría o Matlab (léase Octave, obviamente) o Python con alguna biblioteca que emule al anterior.
En 4 horas tenés que dejarle al estudiante algo que le sirva para saber rudimentos de programación y le sirva para programar lo que necesite a lo largo de su carrera.
|
+1 millón!
Yo Ocatave lo empecé a usar recién en Proba, y la verdad que no dejaba de pensar en cómo les serviría saber un poco de esas herramietas a la gente de otras carreras. No solamente para Proba. Para Analisis Numérico y cualquier cosa en que se pueda aplicar conceptos de estadística o métodos numéricos.
Me parece incomprensible lo que dan en Computación la verdad. De qué le va a servir a un Ing Civil saber abrir/leer un archivo de registros en Pascal??
|
|
|
|
|
|
 |
      |
 |
Sid Bernard
Nivel 9

Edad: 34
Registrado: 20 Jul 2008
Mensajes: 1287
Ubicación: Al lado del Sub Esp. $ = <(TT,0,2+3i)(3,18,4)(0,0,e)>
Carrera: Electrónica y Informática

|
|
Es la primera vez que concuerdo en algo que dice Santisi
Increíble!!!!!
|
|
|
|
_________________
![[tex]\ll[/tex] [tex]\ll[/tex]](images/latex/18b0ee03b28e763622221fda561df49104e1b3e8_0.png) ![[tex]${\Large \definecolor{forestgreen}{rgb}{0.13,0.55,0.13} \color{forestgreen} [S]iD [B]eRnArD!}$ [/tex] [tex]${\Large \definecolor{forestgreen}{rgb}{0.13,0.55,0.13} \color{forestgreen} [S]iD [B]eRnArD!}$ [/tex]](images/latex/6c26715c673b69707083d47474a370e7efaea3c0_0.png)
SOY ACERISTA Y QUE!!!!!
|
|
 |
       |
 |
Huey 7
Nivel 6

Registrado: 03 Mar 2010
Mensajes: 267
Carrera: Electrónica

|
|
Sebastian Santisi escribió:
|
No vas a aprender a programar bien; pero sí es importante que no empieces con vicios y prejuicios estúpidos... uno por ejemplo es el del quote anterior: No hace falta reimplementar cada cosa con un tipo diferente cuando lo que importa es la operación abstracta de ordenado, donde el algoritmo está condicionado a cómo ordenar, no a qué ordenás.
(Y, respondiéndole a facundo.olano, creo que mucha gente usa C++ por los templates, que son la expresión más horrenda de ese prejuicio.)
|
¿¿Eh?? ¿Cómo es eso?
|
|
|
|
_________________
|
|
|
    |
 |
MirianQ
Nivel 8

Edad: 34
Registrado: 29 Feb 2008
Mensajes: 675
Ubicación: Siempre desvirtuando... siempre.
Carrera: Electrónica y Informática

|
|
Los templates de c++ traen muchos problemas a veces, si nos se los usa bien. Trae problemas con la optimizacion que el compilador provee... dificulta el debuggueo, aumenta la complejidad tanto de los mensajes de error, como del codigo en si... y el polimorfismo estatico rompe las bolas tambien... Para mi C++ es un lindo lenguaje si se usa con cuidado.
Y tambien concuerdo en que en Computacion deberian dar una herramienta mas util, como Octave. Viendo el tp que les mandaron a hacer para Compu (el topic de la precision numerica) es mas util pensar en el método que lidiar con los problemas del lenguaje... (oh casualidad, les toco hacerlo en Pascal )
|
|
|
|
_________________
|
|
 |
    |
 |
victorbsd
Nivel 5

Edad: 53
Registrado: 11 Oct 2010
Mensajes: 171
Carrera: Informática y Sistemas

|
|
Los que estan afavor de Pascal o de Python concuerdan en algo :
el que comienza a programar debe aprender a hacer buenos algoritmos.
Tenemos un punto en comun.
Pero los de Python aclaran que prefieren este lenguaje porque carece de la complejidad (aveces innecesaria) que tiene Pascal.Asi que la idea seria concentrar todo el esfuerzo en el algoritmo y no en el lenguaje.
Un punto en discordia.
Los que estan afavor de Python aclaran que el Pascal LIMITA LA CREATIVIDAD en el algoritmo.
La ejecucion de un algoritmo no debe de implicar,normalmente,ninguna decision subjetiva, ni tampoco debe de hacer preciso el uso de la intuicion ni de la creatividad.Una receta de cocina es un algoritmo cuando se describe con presicion la forma de preparar el plato.Si en esta receta se introducen cosas como "salpimentar a gusto" o "segun la coccion" entonces no es un algoritmo.
Que sucede cuando no tenemos un algoritmo para solucionar un problema?. Entonces buscamos una respuesta aproximada asociando algoritmos conocidos.Hoy en dia existen problemas sin algoritmos.
Vean que el algoritmo prohibe ambiguedades o declaraciones poco precisas.Esa rigidez del algoritmo debe verse en el lenguaje en el cual se implementa.Esto es necesario cuando estamos aprendiendo.
Pregunto: que o quienes son los responsables de la estandarizacion de Python?
|
|
|
|
_________________
|
|
 |
    |
 |
DiegoNC
Nivel 4

Registrado: 17 Sep 2005
Mensajes: 86
Carrera: Informática

|
|
victorbsd escribió:
|
Pero los de Python aclaran que prefieren este lenguaje porque carece de la complejidad (aveces innecesaria) que tiene Pascal.Asi que la idea seria concentrar todo el esfuerzo en el algoritmo y no en el lenguaje.
...
Vean que el algoritmo prohibe ambiguedades o declaraciones poco precisas.Esa rigidez del algoritmo debe verse en el lenguaje en el cual se implementa.
|
¿Viste los ejemplos que posteo 4WD? A mi no me parece que la rigidez del algoritmo de ordenamiento por burbujeo no se exprese en el caso de Python.
En el caso de Pascal, el lenguaje impone restricciones al algoritmo que son completamente artificiales y, lo que es peor, fomenta el copy&paste y no la abstracción.
victorbsd escribió:
|
Nombraron Haskell, hay un libro por ahi sobre programacion funcional y Haskell que le tuve curiosidad, alguien que aclare?.
|
Esto es lo que tengo guardado y nunca encuentro oportunidad de leer.
|
|
|
|
|
|
|
    |
 |
koreano
Nivel 9

Registrado: 15 Jul 2010
Mensajes: 1796
Carrera: No especificada

|
|
SemiOT:
@DiegoNC: te recomiendo como tutorial de Haskell este: http://www.learnyouahaskell.com/ . Leí los otros dos que linkeaste ahí y son bastante mas complicaditos si estas iniciandote en la programación funcional.
|
|
|
|
|
|
|
    |
 |
Amadeo
Nivel 9

Registrado: 20 Oct 2008
Mensajes: 1436
Carrera: No especificada

|
|
[offtopic]¿Algun mod puede ser tan gentil de borrar el video ese de m**** que puso victorbsd? Me rompe la cabeza cada vez que entro al thread [/offtopic]
|
|
|
|
|
|
|
    |
 |
MirianQ
Nivel 8

Edad: 34
Registrado: 29 Feb 2008
Mensajes: 675
Ubicación: Siempre desvirtuando... siempre.
Carrera: Electrónica y Informática

|
|
Amadeo escribió:
|
[offtopic]¿Algun mod puede ser tan gentil de borrar el video ese de m**** que puso victorbsd? Me rompe la cabeza cada vez que entro al thread [/offtopic]
|
+1,
quickTime player ha dejado de responder blabla...
|
|
|
|
_________________
|
|
 |
    |
 |
ralfonso
Nivel 4

Edad: 35
Registrado: 26 Abr 2010
Mensajes: 83
Ubicación: theta = 1.67532289pi, phi = 0.692057055pi, rho = 34
Carrera: Informática

|
|
MirianQ escribió:
|
Amadeo escribió:
|
[offtopic]¿Algun mod puede ser tan gentil de borrar el video ese de m**** que puso victorbsd? Me rompe la cabeza cada vez que entro al thread [/offtopic]
|
+1,
quickTime player ha dejado de responder blabla...
|
+2, Additional plugins are required to display all the media on this page...
|
|
|
|
_________________
- I'm greek! XD
No alcanza con leer las boludeces que escribo acá? ->Seguime en twitter!
Repositorio online para archivos (Referral) -> DropBox
[CAMPAÑA] Colaboremos entre todos por un foro más ordenado (click aquí)
|
|
 |
      |
 |
Amadeo
Nivel 9

Registrado: 20 Oct 2008
Mensajes: 1436
Carrera: No especificada

|
|
¿A ustedes les dice lo de los plugins? A mi me lo corre lo más bien, por eso digo que lo saquen parece la música de esos juguetes chinos locos que se venden por $5 en el once...
|
|
|
|
|
|
|
    |
 |
|