Y otra vez, C++ Builder Starter sin costo
Pues eso, han vuelto a sacar la oferta de C++ Builder Started Edition gratis
Este es el link Cita:
Cita:
|
^\||/^\||/^\||/
|
¿¿si es gratis alguien lo puede compatir en un torrent??
|
No estoy seguro de si la licencia lo permite. Una cosa es que sea gratuita y otra que sea de libre distribución.
|
¡Vaya! Se ve que esa cosa no se vende ;)
LineComment Saludos |
Cita:
Torrent es un medio de distribucion, no tiene que ver con el licenciamiento. |
Cita:
|
Ja, ja. Sí. Aunque mi despectivo comentario lo hice antes de ver la otra nota, de que también el Delphi Starter esta gratis :D
pd: ¿De qué va eso de LLVM? LineComment Saludos |
Bruta la cartera, Delphi Gratis!!!!
------ LLVM/CLANG es parecido en parte parecido a GCC, solo que es mas moderno y permite crear multiples front-ends (lease: lenguajes) que compilan contra LLVM y este se encarga de hacer optimizaciones a nativo. NO ES una maquina virtual como Java, pero comparte algunas de sus ventajas. CLANG es el compilador de C/C++/Obj-C que esta sobre LLVM (lease LLVM: Assembler especial para compiladores) De hecho, el compilador de Delphi para iOS esta sobre LLVM. |
Cita:
Comprendo por lo que comentas que LLVM optimiza a nativo los lenguajes que están sobre él. Sin embargo me gustaría comprender una cosa, ¿Significa esto que un lenguaje sobre LLVM sería multiplataforma por defecto? y pregunto porque he visto que por ejemplo el compilador de Swift (Usando XCode) esta sobre LLVM pero no hay despliegue a otras plataformas distintas a las de Apple... por lo que me confundo y quisiera saber ¿Cuál es la razón de esto? y/o si ¿alguna vez podría suceder eso?. He visto que los de RemObjects tienen su compilador .NET (creo) usando la sintaxis de Swift (Silver le han llamado), sin embargo mi pregunta es más orientada es a XCode/Swift como tal. |
LLVM es mas bajo nivel que el bitcode de Java o >NET (osea, no existe una maquina virtual que lo interprete).
Este es un ejemplo de LLVM: http://llvm.org/docs/tutorial/ Si tenemos esta funcion en el front-end: Código PHP:
Código PHP:
En otras palabras, LLVM tiene un lenguaje (el "IR") que esta optimizado para que se puedan hacer analisis y optimizaciones antes de generar el assembler. Esto es porque en compiladores, si quieres que el ejecutable sea mas rapido "Agregale otro pase al compilador"!. PASCAL original era un compilador en 1 solo paso (por eso volaba). Todo lo hace en un solo "tiron". La mayoria de los compiladores/interpretes tienen 3/4 pasos: - Lexing - Parsing - Generar ASSEMBLER o BITCODE o Interpretar Pero para poder hacer optimizaciones, se tiene que agregar otros pasos entre parsing y Generar/Interpretar - Parsing - Optimizar: PeepHole - Optimizar: Constant folding - Optimizar: .... - Generar dataflow - Eliminar variables - .... - Generar ASSEMBLER o BITCODE o Interpretar LLVM esta hecho para poder agregar pasos en toda la cadena del compilador, y se puede decidir si se deja parte del trabajo a LLVM o se toma control casi total del cuento. ---- Ahora, porque LLVM es todo un ecosistema, se pueden integrar herramientas y tecnicas. Por ejemplo, se puede generar un nativo desde un front-end en python, cargar el codigo en memoria, cargar una DLL nativa y hacer el puente. Como un JIT. --- Si a dia de hoy hay que hacer un compilador nativo, LLVM es 100% la respuesta. |
Ahhh ya comprendo el panorama, entonces para poder programar en un lenguaje como Swift bajo su IDE XCode y que su compilado sea nativo multiplataforma, habría que desarrollar un BackEnd para cada plataforma.
|
La franja horaria es GMT +2. Ahora son las 12:08:17. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi