Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Encuesta applet

Buenos dias, no se si este es el lugar apropiado para esta consulta dentro del foro pero no supe muy bien donde meterlo, si algun moderador quiere moverlo al sitio correcto se lo agradeceria y le pido perdon de antemano.
El motivo de este post es que hace unos dias se mantuvo en mi clase una acalorada discusion sobre el uso de los applets de java hoy en dia en las empresas, y me parecio que una de las mejores formas de salir de dudas era preguntar a los que realmente saben y trabajan con este lenguaje todos los dias,
¿Vosotros en el desempeño de vuestro trabajo usais mucho los applets?¿Creeis que esta justificado por ejemplo la inversion de un mes en el aprendizaje de applets durante un mes entero de el periodo lectivo en lugar de dedicarlo a otros aspectos del inmenso lenguaje que es java?y por ultimo, quizas abusando un poco de vuestra generosidad¿Que tecnologias o que aspectos de java considerais que son los que mas usais?Se que cuando acabe mis estudios de programacion y llegue a una empresa me voy a chocar contra un muro pero con estas preguntas espero amortiguarlo un poco:), muchas gracias por vuestra atencion y tiempo, un saludo.

mayo 31, 2012 | Registered Commenterobs1042

No sé cuánto tiempo se dedica a otros temas, pero teniendo en cuenta que apenas un 2% de las Web usan applets, un mes de tiempo me parece una exageración.
Creo que se continúa con la errónea idea de que Java es "apenas algo más que un plugin de un navegador de Internet", y de ahí el tiempo que se dedica a enseñar los applets.

Sería un completo absurdo que se dedicase menos tiempo, o equivalente incluso, a enseñar las Collections, o Concurrency, por ejemplo.
Mejor no hablemos de Swing, que a pesar de que está en el JDK, apenas si se sabe usar con un mínimo de corrección. ¿Es posible que a estas alturas todavía de inicialicen en los main componentes de Swing fuera del EDT?.

¿Se enseña adecuadamente a conocer y manejar el API de Java?. Porque, por lo que veo, da la impresión de que es un completo desconocido, hasta el punto de que ni se sabe buscar en él lo que se necesita.

¿Se dedica tiempo a analizar e investigar las causas de las exceptions?.

Este foro, como otros, es un buen ejemplo de la razón de las preguntas anteriores.

mayo 31, 2012 | Registered Commenterchoces

Si he de serte sincero, collections y concurrency no hemos dado, tampoco hemos dado polimorfismo, herencia ni encapsulacion, no hemos dado nada de swing, pero bueno supongo que swing lo daremos el año que viene en una asignatura que se llama diseño de interfaces graficas, el edt no sabemos lo que es y estamos a falta de 3 dias de finalizar el curso, mirare el resto de respuestas pero creo que si las demas me confirman lo mismo que la tuya choces, el año que viene me cambio de instituto, por que por lo que me has dicho me da la impresion de que un muro no, va a ser como estrellarme en el himalaya, muchas gracias por tu respuesta. Un saludo

mayo 31, 2012 | Registered Commenterobs1042

Es decir, tu ves un código como el que sigue:

private transient List<Path> userPaths;
private transient final ReentrantLock lock = new ReentrantLock();
private transient final Lookup.Result<BrowserUserPathsData> browserUserPathsData = LookupBusServices.getLookupBus().getSubscriber(BrowserUserPathsData.class, new LookupListener() {

@Override
public void resultChanged(final LookupEvent evt) {
final Collection<? extends BrowserUserPathsData> items = browserUserPathsData.allInstances();
if (!items.isEmpty()) {
final List<Path> pathList = items.iterator().next().getPathList();
if (pathList != null) {
lock.lock();
try {
if (userPaths == null) {
userPaths = new ArrayList<>(pathList);
doUpdate();
} else {
pathList.removeAll(userPaths);
// in case no new paths added...
if (!pathList.isEmpty()) {
userPaths.addAll(pathList);
// all descendant paths from a given path get removed
final List<Path> toRemove = new ArrayList<>(2 * userPaths.size());
for (Iterator<Path> its = userPaths.iterator(); its.hasNext();) {
final Path source = its.next();
for (Iterator<Path> itt = userPaths.iterator(); itt.hasNext();) {
final Path target = itt.next();
if (!target.equals(source) && target.startsWith(source)) {
toRemove.add(target);
}
}
}
if (!toRemove.isEmpty()) {
userPaths.removeAll(toRemove);
}
doUpdate();
}
}
} finally {
lock.unlock();
}
}
}
}
});

aparte de que no tienes por qué conocer lo relativo a Lookup (que es específico de NetBeans Platform), ¿Qué impresión te causa todo lo demás?.

mayo 31, 2012 | Registered Commenterchoces

Pues impresion asi sin saber nada lo que me imagino por encima, list debe de ser una un objeto que hace una lista o grupo de otros objetos
Entonces entiendo o me aprece entender que compruebas se los items que recoges de algun sitio estan vacios si no estan vacios los pasas al pathlist que debe ser eso como una array que almacena una grupo de datos y luego puedes acceder a ellos.
Si userPaths==null querra decir que si userPaths no tiene valores dentro lo inicializas como un arraylist al que le pasas lost datos del pathList que tendria los datos del Items, eso es lo que entiendo desde mi ignorancia pero vamos que no nos han enseñado nada de eso, no se si me habre acercado en algo a lo que hace lo he dicho todo por lo que me parecia de la estructura del lenguaje no entendia nada.

mayo 31, 2012 | Unregistered Commenterobs1042

Y si el userPaths no esta vacio entonces lo vacia.

mayo 31, 2012 | Registered Commenterobs1042

La idea de poner ese código no era que entendieses exactamente qué hace y por qué lo hace. Para ello tendrías que conocer las especificaciones, y las razones lógicas por las que se construye así; lo que no es el caso.

Ésto es lo que me preocupa:

"eso es lo que entiendo desde mi ignorancia pero vamos que no nos han enseñado nada de eso"

Para no haberte enseñado nada de eso, creo que lo comprendes mejor que bien ;)
Lo grave es que se dedique un mes a applets, y termines el curso sin reconocer las Collections donde las ves, y lo que se supone que deben hacer, por lo que te hayan enseñado de ellas, y no teniendo que hacer deducciones lógicas a partir de los identificadores.

Como no habéis visto nada de concurrencia, es natural que un ReentrantLock te suene a chino, como poco ;)

Creo que te refieres a estas líneas con tu comentario posterior:
if (!toRemove.isEmpty()) {
userPaths.removeAll(toRemove);

Lo que hace es eliminar de userPaths todo el contenido de toRemove, en caso de que toRemove no esté vacío.

mayo 31, 2012 | Registered Commenterchoces

okss gracias por la informacion..., me parece que me queda mas para estudiar en verano que lo que he estudiado durante el curso para ponerme a un nivel minimamente aceptable, en fin que se le va a hacer, los estudios son una loteria te puede tocar casi cualquier cosa.

junio 1, 2012 | Unregistered Commenterobs1042

Cuanto te comprendo, quizás más de lo que crees ;-)

junio 2, 2012 | Unregistered Commenterinane