Foro especializado en Warcraft III y su editor
 
BuscarEntrar al ChatboxPortal del foroÍndiceSpellsRegistrarseConectarseGrupos de Usuarios
Eventos Actuales
¡ Bienvenido Invitado !

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte | .
 

 ¿Por qué debería usar Wurst? •

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Ruke

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 298
Reputación Reputación : 63
Monedas de oro : 1677
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: ¿Por qué debería usar Wurst? • Dom Ene 12, 2014 11:33 am

Introducción
Muy buenas, en estas breves líneas les expondré algunas de las razones del por qué deberían estar ya usando Wurst. Trataré de mantenerlo breve y consiso.



¿Qué es Wurst?
Como bien dice su página es un nuevo lenguaje de programación que compila a JASS. Sus objetivos son:

  • Código legible
  • Código de rápido y fácil desarrollo


Los cuales están cumpliendo muy bien. Desarrollar con Wurst es muy agradable, no hay necesidad de usar h4kcs; el código realmente mantiene una gran legibilidad; y muchos de los recursos/librerias que necesitarías muy probablemente ya están escritos en el source.



Escribiendo menos, haciendo mas
En Wurst han removido varias palabras clave haciendo que se tenga que escribir menos. Por ejemplo:

[ljass]function x takes nothing returns nothing[/ljass]

En Wurst pasa a ser:

[ljass]function x()[/ljass]

Palabras como [ljass]endif[/ljass], [ljass]endloop[/ljass] y demás ya no son necesarias, ya que la sintaxis se apoya en la tabulación (se debe tener obligadamente una correcta indentación, lo cual ayuda a legibilidad Wink).



Declaracion de variables en cualquier parte del scope
Pequeño pero importante punto a mencionar. Las variables pueden ser definidas en cualquier parte de su ámbito.

Esto significa que no se está limitado a declarar variables en la parte superior:

[jass]function x()
   KillUnit(GetTriggerUnit())
   unit triggerUnit = GetTriggerUnit() // esto funciona!
[/jass]



Bucles nuevos
Me limito a copiar el ejemplo del manual (prestar especial atención al bucle de grupos):

[jass]while a > b // while-loop with input condition
   ...
   
for int i = 0 to 10 // for-loop
   ...

for int i = 0 to 10 step 2 // for-loop with step 2
   ...

for int i = 10 downto 0 // wurst can also count downwards
   ...

for unit u in someGroup // loop over all units in a group
   ...

for unit u from someGroup // loop over all units in group and remove the units from the group
   ...

for int i in myList
   ...[/jass]

Esto nuevamente reduce la cantidad de código, claramente mejora la legibilidad del mismo, y evita que tengamos que repetirnos (en especial cuando queremos hacer iteraciones en los grupos).



Tuples
Con los tuples, se puede agrupar varias variables (es como un struct con propiedades pero "sin métodos").
Esto vale la pena mencionarlo, ya que Wurst agrega un par de tuples, como vec2. Con vec2 podemos guardar coordenadas (x, y). Pero ésto no se limita a guardar solamente, si no que podemos usar funciones como [ljass]vec2.distanceTo(otro_vec2)[/ljass], [ljass]vec2.angleTo(otro_vec2)[/ljass] y mucho mas.



Extension de funciones
Con esta funcionalidad, se te habilita para agregar funcionalidad a tipos (como unit, real, etc.) existentes. Un ejemplo:

[jass]// Declaracion
public function unit.getX() returns real
   return GetUnitX(this)

// Funciona con cualquier tipo
public function real.half() returns real
   return this/2[/jass]

Ejemplo de uso:

[jass]unit triggerUnit = GetTriggerUnit()
BJDebugMsg("La coordenada X de triggeringUnit es " + R2S(triggerUnit.getX()))[/jass]

Cabe mencionar que Wurst hace extensivo uso de esta funcionalidad para, nuevamente, mejorar legibilidad.



¡Uso de un verdadero IDE!
Wurst posee un plugin para ser utilizado con Eclipse el cual funciona extraordinariamente bien.
Eclipse es un reconocido IDE (Entorno de desarrollo integrado) el cual posee incontables funcionalidades, todas apuntadas a mejorar la experiencia del programador.

Unas imágenes publicadas por uno de los autores:
https://dl.dropboxusercontent.com/u/19704285/wurstmall.jpg
http://peq.github.io/WurstScript/assets/images/error_sample1.png
https://i.imgur.com/6uOtqxrl.png
https://dl.dropboxusercontent.com/u/32231212/wurstpresentation/errors.png
https://dl.dropboxusercontent.com/u/32231212/wurstpresentation/autocomplete.png

Simplemente la mejor desición.



Muchas mas funcionalidades
Para los ya avanzados, overloading; operators; edición/creacion de objetos con uso de código; pruebas unitarias; iterators; verdaderas clases; módulos; enum; funciones anónimas; stacktraces; optimización del código generado y mas.



Y lo mas importante
Wurst es un proyecto que crece y crece, está siendo constantemente actualizado (cosa que en vJASS no pasa), agregando nuevas funcionalidades, optimizando y corrigiendo errores.



¿Dónde encontrar más información?
Para mas información, pueden dirigirse a las siguientes URLs:

Página oficial: http://peq.github.io/WurstScript
Manual: http://peq.github.io/WurstScript/manual.html
Publicación en Hiveworkshop: http://www.hiveworkshop.com/forums/warcraft-editing-tools-277/release-wurstscript-wurst-jass-compiler-ide-238522/



Concluyendo
Y ya para finalizar, poco queda decir salvo invitarlos a que le den una oportunidad a Wurst. Estoy seguro de que compartirán mi opinión de que éste es un gran proyecto  que encaja perfecto tanto en pequeños como grandes mapas (en especial sobre los grandes) Smile.

¡Saludos!
Volver arriba Ir abajo
WonderWoman
Capitán
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 129
Reputación Reputación : 27
Monedas de oro : 829
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: ¿Por qué debería usar Wurst? • Dom Ene 12, 2014 2:47 pm

Casi me convences, pero estoy obligado a usar un entorno de desarrollo externo o se puede usar una extension para el WE?


and it makes me wonder...
Volver arriba Ir abajo
io
Aprendiz
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 24
Reputación Reputación : 5
Monedas de oro : 314
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: ¿Por qué debería usar Wurst? • Dom Ene 12, 2014 3:32 pm

muy interesante (no lo conocía voy a probarlo ... me parece genial que se pueda utilizar un IDE serio como el eclipse para mejorar las costumbres al programar para warcraft , después de todo programar para warcraft es muy divertido , me había quedado antes con el ZINC (por que es mas sencillo de escribir) sin embargo era molesto tener que copiar código de otros mapas para hacer lo mismo , y lo problemas que acarrea implementar una libreria , entre otras muchas cosas , por otro lado no me gusta mucho la idea de que no soporte el manejo de los macros (por lo que leí en la documentación) ... en fin estaré utilizando esto luego comparto mis impresiones ... gracias por la informacion sauron hace mucho que no me actualizo en temas de warcraft XD ... saludos
Volver arriba Ir abajo
Ruke

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 298
Reputación Reputación : 63
Monedas de oro : 1677
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: ¿Por qué debería usar Wurst? • Dom Ene 12, 2014 3:46 pm

@WonderWoman escribió:
Casi me convences, pero estoy obligado a usar un entorno de desarrollo externo o se puede usar una extension para el WE?

al parecer es solamente con el ide.

@io escribió:
muy interesante (no lo conocía voy a probarlo ... me parece genial que se pueda utilizar un IDE serio como el eclipse para mejorar las costumbres al programar para warcraft , después de todo programar para warcraft es muy divertido , me había quedado antes con el ZINC (por que es mas sencillo de escribir) sin embargo era molesto tener que copiar código de otros mapas para hacer lo mismo , y lo problemas que acarrea implementar una libreria , entre otras muchas cosas , por otro lado no me gusta mucho la idea de que no soporte el manejo de los macros (por lo que leí en la documentación) ... en fin estaré utilizando esto luego comparto mis impresiones ... gracias por la informacion sauron hace mucho que no me actualizo en temas de warcraft XD ... saludos

es verdad, no cuenta con macros (aún). pero éstos son usados muy eventualmente y en caso de necesitarlos siempre se puede recurrir al copy/paste xD.
Volver arriba Ir abajo
MuSe

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 218
Reputación Reputación : 46
Monedas de oro : 2589
Monedas de Platino : 5

Inventario :



Mensaje(#) Tema: Re: ¿Por qué debería usar Wurst? • Dom Ene 12, 2014 8:30 pm

Trate de probarlo, lo instale pero me mando error al crear un nuevo proyecto.
Talvez debo actualizar mi eclipse, pero bueno lo estare probando.

Saludos.
Volver arriba Ir abajo
Ruke

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 298
Reputación Reputación : 63
Monedas de oro : 1677
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: ¿Por qué debería usar Wurst? • Dom Ene 12, 2014 11:33 pm

@MuSe escribió:
Trate de probarlo, lo instale pero me mando error al crear un nuevo proyecto.
Talvez debo actualizar mi eclipse, pero bueno lo estare probando.

Saludos.

Fijate que en el post de Hiveworkshop hay dos video-tutoriales que te pueden ayudar con la instalación.
Volver arriba Ir abajo
io
Aprendiz
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 24
Reputación Reputación : 5
Monedas de oro : 314
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: ¿Por qué debería usar Wurst? • Lun Ene 13, 2014 2:58 pm

para mi tampoco funciona, seguí todos los pasos pero al tratar de guardar me sale un mensaje de "no se puede inicializar el pluggin" y tampoco me reconoce la ruta de la librería en dependencias, al poner la ruta se cuelga el eclipse ... no tengo experiencia con este IDE para solucionarlo, de igual forma la información que pusieron al instalar no está actualizada al parecer, no encuentro el archivo updater para descargar el pack de nuevo y si bajo un build del servidor tampoco funciona bien ....
Volver arriba Ir abajo
paillan
Héroe
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 1104
Reputación Reputación : 147
Monedas de oro : 1009
Monedas de Platino : 0

Inventario :
Espada de la Oscuridad Armadura Lunar Avanzada


Mensaje(#) Tema: Re: ¿Por qué debería usar Wurst? • Dom Jun 08, 2014 11:09 pm

Este lo habia visto. Se ve bueno pero soy un negado para el JASS. Suerte haciendo que funcione xd


Haz click a una de las imagenes y entra a un trip

Volver arriba Ir abajo
Trigger.edge

avatar


Barra de Salud : Este usuario es invulnerable ¿Será que es fiel a las normas?

Mensajes Mensajes : 978
Reputación Reputación : 109
Monedas de oro : 1243
Monedas de Platino : 0

Inventario :
Cetro del Rey Armadura Mágica Daga Mística


Mensaje(#) Tema: Re: ¿Por qué debería usar Wurst? • Miér Ago 13, 2014 12:16 pm

Todo bien con el wurst Ruke lo unico que no me convence es tener que escribir cualquier cosa "fuera" del WE :/
Volver arriba Ir abajo
Contenido patrocinado




Mensaje(#) Tema: Re: ¿Por qué debería usar Wurst? •

Volver arriba Ir abajo
 

¿Por qué debería usar Wurst? •

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

 Temas similares

-
» se puede usar lentes de contactos con estrabismo
» Torneo de Estándar Némesis 25 de Febrero
» Cuál creeis que es el precio que debería costar cada colección???
» Algun programa para hacer chapas?
» Google Chrome beta permite usar webcams y micrófonos sin plugins (Flash)

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Academia :: Area JASS-