Post by el emperadorPost by znôrtPost by MiguelHola soy un estudiante de 3º de teleco (de la de 5años) y me gustaría
aprender un lenguaje orientado a objeto.
No sé si empezar con algo de Java, Visual Basic o algo de .NET que en
principio me parece lo más atractivo.
Menos mal que no eres *broker* de futuros, no me gustaría ser uno de
tus clientes.
Post by znôrtVisual Basic es algo del pasado.
¡Ya!, según tú, los más de 2.000.000 de programadores de VB
(profesionales y ocasionales) que hay en el mundo, por lo menos hasta
hace unos meses, han desaparecido "ipso facto".
Interesado estoy en ver esa estadística que dices. En serio, algún
link se agradecería. Ahora, la socarronería: qué % de esos son
profesionales que hacen sw state of the art? Porque aplicacioncitas
con millones de fornularitos hay a patadas. Lástima que quien las haya
hecho no tuviera ni idea de diseño de BD, control de transacciones,
cliente/servidor y optimización de procesos, metodología de sw, diseño
de componentes reutilizanles, racionalizacion de recursos,
procedimientos de testeo, manejo de excepciones y dos docenas largas
de etcéteras más. De qué estamos hablando?
Tampoco es cierto que en VB no se haga nada serio, pero reconocerás
que es una minoría. Con VB y maña (y conocimientos) se pueden hacer
maravillas, pero no hay muchas. Precisamente, la ventaja de VB es que
sin tener ni zorra idea puedes hacer algo aparente. Sabes cuánto
tiempo estuve practicando VB antes de acometer la primera aplicación
seria con él? 0 dias, 0 horas. Sabes cuántas veces me he cagado luego
en todo al toparme con sus limitaciones, contradicciones,
inconsistencias y carencias? Innumerables.
Sí hay empresas con equipos de desarrollo más o menos competentes que
en su día optaron por VB. Ahora tienen un problema: en *teoría*
deberían poder migrar sin problemas a VB.NET, pero no es así.
Sencillamente, .NET es demasiado exigente para un programador
ocasional, que con VB producía forms como churros. Y los equipos que
están en condiciones de abordar esa transición y cuya curva de
aprendizaje se limita a habituarse al entorno (y no tener que aprender
todas esas cosas que un desarrollador ya se supone que sabe y que
todos esos programadores ocasionales ignoran), ya normalmente habían
optado por plataformas distintas. Pero las empresas de desarrollo con
una base de código importante en VB ahora no tienen más remedio que
contratar nuevo personal, o rehacer sus productos. O quedarse como
están, y ver qué pasa.
A esto siempre me viene a la memoria una frase lapidaria de Marc
Fleury: "es el viejo sueño de arrearle doce monos a un server windows,
y al final del día tienes una aplicación web: tú y yo sabemos que eso
no funciona asi". Lo que obtienes es un churro.
Post by el emperadorPost by znôrtC# tiene muy poco futuro.
C# sobre todo con el VisualStudio y determinadas librerías como
ComponentOne, Infragistics, etc, permiten unos tiempos de desarrollo
extraordinariamente bajos para los mercados a las que están
destinadas.
Yo no he dicho que C# sea una mala plataforma. No niego en absoluto
que sea perfectamente válido para aportar soluciones. Y tampoco voy a
sacar a relucir lo que tiene C# de polítco y márketing, que es
bastante. Es más, me parece cojonudo que exista, y no lo descarto para
ningún proyecto futuro. El problema es que yo dejo elegir a mis
clientes, simplemente asesoro, y hasta la fecha nadie se ha empeñado
en .NET :-)
Es así. DevStudio fue uno de los entornos más celebrados que
existieron, pero el impacto que ha tenido C# hasta la fecha es ínfimo.
Porqué? Pues no lo sé ... podría ser porque la explosión de las
aportaciones opensource ha empezado a cuajar? Se necesitaba ahora algo
como C#, habiendo plataformas equivalentes ya perfectamente rodadas y
que contaban con un parque de desarrollo considerable? Pues no sé,
pero la verdad es que no le va a MS resultar precisamente fácil
competir con eso. Luego, están las cuestiones políticas, que todos
conocemos. No me explayo en ellas, pero ahí estan, e influyen en las
decisiones. Me parece estupendo que tú le saques partido para esas
cosas que haces, pero ponte en la situación de un responsable de un
area técnica, garito de soft o similar, que no cambia su entorno de
programación a la ligera, de entrada porque puede suponer unos costes
de evaluación, personal, formación, refactoring, etc muy
considerables, bastante más allá que el coste directo de las
herramientas. Tendrá que tener excelentes razones para ello. Pues
parece ser que C# no aporta, de momento, las suficientes. Sobre esto
no tengo datos estadísticos fiables (ya me gustaría), pero por lo que
veo, lo que parece estar ocurriendo es que sólo una minoría de
usuarios de VS han pasado a .NET (utilizándolo como .NET, eh?). La
inmensa mayoría sigue con lo suyo, y otro curioso grupo se está
pasando... tachaaan, a tecnologías basadas en java, que estan en
franco auge. VS, como producto, es vía muerta, aunque, por lo que
acabo de comentar, se seguirá usando previsiblemente mucho tiempo: la
mayoría no está por la labor de pasarse a .NET. Lo que sí he visto son
cajas de .NET en la estantería, cubriéndose de polvo.
Encima, ten en cuenta que durante todo este tiempo, la gente YA TENÍA
soluciones de desarrollo rodadas, sólidas y operativas que hacían
exactamente lo mismo que ofrece .NET. Ni siquiera tenían necesidad de
cambio.
Algo que ha perjudicado mucho a .NET, en mi opinión, es que se
anunciara tan precipitadamente. MS hizo una campaña en su genuino
estilo, a lo grande, y el producto ni siquera estaba listo. Se anuncia
C# como lo más chachi e innnovador del planeta, y cuando miras las
especificaciones te das cuenta de que poco le falta para ser un clon
del VJ++. Aunque la verdad es que el tinglado del CLR parece
prometedor... siempre y cuando lo lo monopolice una plataforma, que es
exáctamente lo que va a suceder . Luego van saliendo las betas, que
petan como una escopeta de feria una tras otra y, finalmente, 2 años
mas tarde, se libera el producto... evidentemente, y a pesar de las
múltiples betas, con una florida colección de bugs, que se tardan
otros 2 años en solucionar. A todo esto, durante esos años MS
atraviesa la peor época de su historia, haciendo el ridículo más
espantoso con problemas de seguridad de sus productos estrella (muchas
veces con gravísimas consecuencias), prácticamente colapsados y con el
.NET por hacer, y encima empezando una guerra mediática contra Linux y
opnesource que, oh paradoja, empiezan a dar sus frutos. Hombre, si
añades eso a los factores anteriores, la verdad, no es una campaña muy
estimulante :-) y se entiende que C# haya ido pasando, de momento, sin
pena ni gloria.
Qué sucederá en los próximos 2 o 4 años? No lo sé. De momento, el
futuro tendrá C#. Eso seguro. Que sea una plataforma mayoritaria,
personalmente, lo dudo mucho, ni falta que hace. Cuánto tiempo
mantendrá MS un producto en estas condiciones? Adivina :-)
Todo eso me llevaba a afirmar, quizá de un modo demasiado lapidario,
si, que C# no tiene futuro. No parece tener mucho, no.
Post by el emperadorYa se que no son gratis (la licencia) como Linux, Java, JBoss, etc,
pero si consideras pagar $600 por una biblioteca de componentes sin
límite de uso es que no sabes valorar tu trabajo, con esa mentalidad
no se montarían tiendas, supermercados, ... etc.
Eso no tiene sentido. Las herremientas opensource no se adoptan porque
no cuesten dinero, se adoptan porque son buenas. Porque muchas veces
interviene en su creación gente mucho más preparada que la que puedas
encontrar en los grandes equipos comerciales, porque son productos de
un diseño mucho más consensuado que un producto comercial que se
somete, normalmente, más a las exigencias de márketing que al puro
interés técnico.
Y lo que es también un error es creer que opensource = no me gasto un
duro. Opensource te deja usar sin coste el software, nada más.
Normalmente, para usarlo necesitarás personal cualificado, soporte,
etc., y eso se paga. Me dirás que eso se paga igual con el sw
comercial. Pues si. Pero hay quien confía más en el opensource, mira
por donde. Hay de todo, pero por lo general creo que encontrarás mucho
más apoyo en una herramienta opensource que en la hit line de pago de
la compañía monstruo de turno. Yo era cliente de VS, hace años. 20.000
pelas de entonces la consulta telefónica, amigo, y las respuestas
podían ser tranquilamente del tipo "actualícese a la sopa del día".
Seamos serios.
Si la gente usa JBoss, no es porque sea gratis. El soporte es first
class, pero bastante caro, eh? A nadie se le ocurre implantar algo de
cierta envergadura y repsonsabilidad sin ese soporte, ok? La única
diferencia es que JBoss no te arrea los impresionantes clavos por
licencia que te puedan arrear por un IPlanet, Weblogic, etc, y que,
por lo que parece ser, tanto su producto como su servicio son mejores.
Punto. Busque, compare, compre. La razón? Pues que opensource SI
produce sw de calidad y SI es innovador, y esto que ya se anunciaba
hace años, cada vez es más obvio, y los alarmismos de la competencia
comercial, que no son más que FUD y acoso y derribo, cada vez tienen
menos sentido, un leve graznido que ya apenas se escucha :-)
Post by el emperadorPost by znôrtVisual Basic no es orientado a objetos. Visual Basic .NET es Visual
Basic orientado a objetos a bofetadas. El resultado es una imbecilidad
de lenguaje. Directamente, olvídalo.
Una crítica muy constructiva, "imbecilidad" debe de ser un término
técnico nuevo, ¿no?.
Introducido en la versión 3.4, sí :-)
Para descargarla, debe Vd suscribirse al manual "Propósitos y
despropósitos en usenet, Vol.II".
Reconozco que me he pasao :D Vamos a ver, VB, todo y ser un productito
excepcionalmente útil y productivo en algunos entornos reducidos, no
obtendría el visto bueno como lenguaje de desarrollo serio de ningún
ingeniero de ws. Estamos de acuerdo con esto, supongo. Le falta
coherencia sintáctica, orientacion a objetos, estructuras de control
potentes, manejo de excepciones, aserciones, escalabilidad y un largo
etcétera.
VB.NET es un intento de "revitalizar" VB, intentando convertir el
lenguaje ñoño y simplón que era en algo con fundamento y que tenga
sitio en .NET, pero SIN perder el aroma del añejo VB (éxito brutal de
ventas) ya que, su razón de ser misma, es recuperar esas bolsas de
aficionados. La verdad es que la tarea, fácil, no lo era en absoluto.
Pero en mi opinión el engendro híbrido que han hecho, soportando
herencia a bofetadas y metiendo con calzador toda esa funcionalidad
que necesitaba, sin poder dinamitar su base que es realmente la causa
de su flojera, el resultado puede calificarse, si, de imbecilidad de
lenguaje. Tómelo con su correspondiente granito de sal :-)
Post by el emperadorPost by znôrtC# es un plagio de Java, con 4 lindezas de la cosecha de MS. .NET es
una API monstruosa que sólo corre en Windows. Nadie más que MS tendrá
narices de implementarla para la próxima generacion de Windows (si es
que tal cosa llega a existir), y eso es bastante dudoso considerando
que respecto de lo que esperaban, .NET está siendo un sonado fracaso.
Bueeeeno, sí, está el proyecto "mono" ... úsalo si te atreves :-)
Estás avisado que MS "descataloga" un lenguaje con la misma facilidad
con que los vende.
Parece que que hablas de evolución, algo a lo que están sujeto todos
los lenguajes de programación.
También podrías comentar que una aplicación Java (tm) desarrollada con
con el JSDK (tm) 1.4.2 no tiene porque poder ejecutarse en una máquina
virtual de 1998
La compatibilidad es hacia adelante, amigo. Es más, supongo que
tampoco te referirás a una JVM deliberadamente incompatible como la de
MS, ejem, corramos un tupido velo :-)
Post by el emperadorpor ejemplo, y que con la nueva especificación, 1.5 se
puede romper completamente incluso con una VM que soporte la 1.4.2.
Lo dudo mucho. En todo caso, sería la primera vez que ocurre, y está
por ver.
Post by el emperadorPero es algo normal, se trata como siempre de elegir, sino seguiríamos
desarrollando en COBOL.
Por supuesto. Se trata de que *puedas* renovarte, no de que no tengas
más remedio porque las herramientas de que dependes dejan de ser
(sutilmente, eso si) soportadas por el fabricante cuando le interesa.
Post by el emperadorPost by znôrtJava en cambio es un lenguaje OO puro, consistente, state of the art
(y sin los glamourosos inventos del tebeo de MS), corre hasta en una
batidora, hay montañas de código opensource y documentación, y una
¿De qué modelo de batidora hablas? no eres serio cuando hablas de Java
(TM).
Post by znôrtcomunidad de desarrollo que es literalmente un hervidero. Es el
lenguaje que se estudia mayoritariamente hoy en las universidades, y
eso no es así por capricho. Ah, y gratis :-)
Mal ejemplo, desafortunadamente la Universidad (en general, hay
departamentos que se salvan, y dentro de estos sólo algunos miembros)
está demasiado desconectada del mundo real. Y posiblemente se enseñe
He utilizado este mismo argumento en muchas ocasiones, en otro
contexto. Pero aquí no viene al caso. Claro que la uni está
desconectada del mundo real. A la postre, es un vivero, aunque estoy
de acuerdo que deberían implicarse más en la industria: sería bueno
para la industria, y para los alumnos.
Pero estarás de acuerdo en que el objetivo primordial de la uni es
enseñar *fundamentos* teóricos para que luego puedan ser aplicados en
cualquier supuesto práctico. Para transmitir estos fundamentos se
procura escoger, de entre lo disponible, paradigmas y herramientas
que sean lo más *ilustrativas* posible. Pues lo dicho, para enseñar a
programar OO, escogen Java, y no C# o VBueeeek!.NET ni COBOL, y a mi
que me parece una decisión muy acertada, porque java expresa y explota
esos criterios de una forma mucho más clara. (Bueno, de hecho, C#
tambien. En ese aspecto es una claca de Java. El problema es que C#,
sin el monstruo de API de .NET, no es nada, mientras que Java con un
simple runtime de 4 megas hace maravillas. Y a la postre C# es
demasiado nuevo).
Post by el emperadorcomo a mí me enseñaban el C, vamos que era mejor irse para casa y leer
el libro de C de Kernighan & Ritchie.
Pues no sé tú, pero yo aprendí con ese libro. En esa época no había
mucho más :D
saludos
znôrt