¿Cómo abordo un proyecto serio de F # sin conocimiento de C #?


11

Entonces, esencialmente el proyecto que deseo emprender es un editor SVG. Preferiría usar WPF porque entonces puedo aprovechar XAML para el diseño de mi aplicación (ese diseñador es tan ingenioso). Desafortunadamente, solo he estado usando .NET Framework durante solo unos meses, y todavía no estoy familiarizado con la mayoría de los nombres de clase.

El objetivo era usar F # porque es un lenguaje de programación funcional y la recurrencia de F # y las maravillosas operaciones de lista combinadas con tuplas funcionarán bien para lo que estoy tratando de lograr. Y el objetivo es usar .NET debido a su enorme biblioteca de clases disponibles y documentadas con ejemplos.

Ya he mirado esta pregunta. /software/3129/is-there-a-canonical-book-on-f Pero las respuestas son solo para F # en general y supongo que ya conoces C #, lo cual no es particularmente útil para mí .

El primer libro como respuesta a la pregunta mencionada anteriormente fue Programación funcional del mundo real: con ejemplos en F # y C #. Sin embargo, la revisión de Amazon de 3 estrellas en este libro, aunque bastante dura y quizás exagerada correctamente, ilustra mi problema.

Si está interesado en la programación funcional, pero no es un C # que quiere aprender F #, puede saltarse este libro de manera segura.

He buscado en línea ejemplos de WPF F #, hay varios fragmentos de código aquí y allá, pero nada sustancial o que demuestre que se usa fuera de un solo script de archivo .fsx, y nada realmente de nivel empresarial o incluso al menos de grado profesional.

Entonces, incluso Microsoft realmente no tiene muchos ejemplos sobre cómo hacer cosas .NET en F #. Los ejemplos que he encontrado generalmente solo son características exclusivas de F #. Eche un vistazo a las secciones básicas y avanzadas de F #, y verá que son culpables de solo enseñar sintaxis. Por ejemplo, el MSDN en WPF para la clase Line no tiene ningún ejemplo de código en F #.

Cuando te desplazas hacia abajo en la pestaña de ejemplo de código para F #, solo dice

No code example is currently available or this language may not be supported.

Con tan pocos ejemplos de código disponibles, me resulta difícil llevar a cabo este proyecto.

Mi pregunta
agradecería ayuda para comprender cómo debería abordar este proyecto usando F # cuando no conozco C # tan bien.

Respuestas:


10

Divide el problema en dos partes.

  1. Aprenda los conceptos básicos de F # al excluir el uso de WPF. Aprender a escribir funciones sin necesidad de utilizar mutablese while statementsy el uso function composition. Una vez que hayas hecho esto, aprende a usar mutables para actualizar el estado.

  2. Aprenda a usar WPF en F # leyendo Aprendiendo WPF a través de F #, y viceversa , por John Liao.

Si no puede encontrar ningún código que le guste en F #, recuerde que F # es un descendiente de OCaml, por lo que Google para OCaml y SVG, y puede encontrar algo de interés. Si bien F # no puede compilar OCaml, está muy cerca y no debería tomar mucho tiempo para convertir. Convertí una gran cantidad de OCaml a F # y todo se convirtió.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.