2010-11-22 11 views
10

Hay una parte de la sintaxis java que me saca de quicio: eso son llaves y punto y coma. ¿Existe algún tipo de intérprete que me permita utilizar toda la sintaxis de Java excepto por esto? Quiero hacer algo como esto:Java y espacios en blanco como sintaxis (¿Python)?

public class Hello: 
    public static void main(String[] args): 
     System.out.println("I like turtles.") 

public class Another: 
    public static void somethingelse(): 
     System.out.println("And boobs") 

Es un espacio en blanco de Python como modelo de sintaxis, he llegado a encantar. Creo que es más limpio y más fácil para los ojos. Si no existe, estoy considerando invertir mucho tiempo en escribir un analizador sintáctico que pueda hacer esto por mí. (Lo ideal es que lo abra, lo formatee con espacios en blanco, y cuando se guarde, guarde como solo la sintaxis java con llaves y todo)

¿Esto causaría problemas en algún otro lugar del idioma? ¿Qué tipo de hipo puedo esperar encontrarme? Quiero usar todo el resto de la sintaxis de Java exactamente de otra manera, solo quiero modificar este pequeño problema.

Puedo ya escribir y leer el código muy bien en Eclipse. Y sí, ya sé cómo usar herramientas de formato de código y todas las opciones de autocompletar disponibles para mí, esto es simplemente una preferencia en el estilo de codificación, así que no respondas con "Debes aprender a acostumbrarte a él" o " Debería usar un IDE que tenga llaves PARA USTED "... no. No quiero eso.

+3

Hay un proyecto en el código de google que te permite hacer esto con C. No puedo encontrar un enlace correcto ahora, pero podría valer la pena buscarlo. Si termina teniendo que implementar esto usted mismo, entonces podría proporcionar un buen punto de partida. – aaronasterling

+1

Entiendo totalmente de dónde vienes, pero honestamente deberías acostumbrarte. ¿Crees que realmente vale la pena escribir tu propio analizador, solo para que puedas deshacerte de las llaves y los puntos y comas? –

+2

Creo que es bueno tener una misión. Tendrás que tener cuidado con los bucles 'for' y las cadenas entre comillas, también con las funciones foreceches y' switch'es, ya que todos pueden usar los caracteres que necesitas traducir. Arranque los inicializadores y los bloques estáticos también ... eeep, usted tiene su trabajo cortado para usted. – CurtainDog

Respuesta

0

En su lugar, podría considerar invertir tiempo en aprender a usar eclipse y el formateador de código.

El modelo de Python es genial, ya que (más o menos) obliga a todos los desarrolladores a utilizar el mismo formato de estilo de código. Las empresas de software modernas tienen pautas de estilo de código y usan IDEs con formateadores para facilitar el cumplimiento del estilo de codificación. Incluso si tus compañeros de trabajo tienen (subjetivamente) estilos atroces (para ti), puedes reformatear rápidamente ese código en algo que encuentres legible.

+0

Ya puedo escribir código fino y leer código fino con los corchetes y punto y coma, es simplemente una preferencia. Ya uso Eclipse y puedo manejar el formateador de código con facilidad.No se trata de escribir menos o algo así. De manera óptima, sería una herramienta para mi uso que se convertiría en ambos sentidos. Tomaría un archivo fuente y lo formatearía de la forma que prefiera, y luego al guardarlo, se exportaría como java normal, llaves y todo; No afectaría en absoluto el código. (al menos así es como lo visualizo). – ThantiK

2

¿Puedes cambiar a Jython? La sintaxis de Python, el entorno de tiempo de ejecución de Java.

+0

Lamentablemente, no, estoy trabajando principalmente en Android en este momento, Jython no compila nada compatible. Aunque no estoy realmente buscando la sintaxis completa de Python; Solo la sintaxis basada en indentación. Ya uso Jython para algunos de mis proyectos personales. Hubo un proyecto "Jythonroid", pero fue reemplazado por SL4A (anteriormente ASE) pero SL4A no tiene acceso a SurfaceFlinger ni a ninguno de los subsistemas GUI/layout. – ThantiK

0

Puede usar Jython o Scala, que elimina la mayor parte de llaves y puntos y comas (en cuanto a puntos y paréntesis). Su sintaxis es mucho más legible, y todavía tienes todo el poder de JVM.

Sin embargo, si necesita exactamente un traductor (para guardarlo como un código Java simple), puede escribir fácilmente dicho traductor. Lea el archivo de entrada línea por línea, contando las sangrías, y cada vez que cambie, elimine dos puntos al final de la cadena (si es necesario) e inserte una llave: abra la llave para una sangría más grande y cierre para la más pequeña. (No tiene en cuenta varios casos posibles, pero la mayoría de ellos se considera como un estilo incorrecto.)

+0

Me di cuenta de su comentario sobre Android, por favor, ignore el primer párrafo. EDITAR: [o no] (http://stackoverflow.com/questions/476111/scala-programming-for-android) – ffriend

Cuestiones relacionadas