Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Noticias (https://www.clubdelphi.com/foros/forumdisplay.php?f=34)
-   -   Y otra vez, C++ Builder Starter sin costo (https://www.clubdelphi.com/foros/showthread.php?t=90639)

AgustinOrtu 31-07-2016 20:22:49

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:

Special Terms and Conditions for the C++ Starter with 100% OFF Discount
- Offer valid from July 25th 2016 to August 5th 2016
- Only one license per order
- Only one license per email address / account
- This offer does not include any upgrade subscription
- We reserve the right to change this offer at any time
Cita:

Terminos y condiciones para C++ Starter con 100% de descuento
- Oferta valida desde 25 Julio 2016 hasta el 5 de Agosto de 2016
- Solo una licencia por orden
- Solo una licencia por direccion email / cuenta
- En esta oferta no se incluye ningun upgrade subscription
- Nos reservamos el derecho de cambiar esta oferta en cualquier momento

Casimiro Notevi 31-07-2016 20:35:06

^\||/^\||/^\||/

JXJ 23-08-2016 04:48:46

¿¿si es gratis alguien lo puede compatir en un torrent??

Ñuño Martínez 23-08-2016 11:10:59

No estoy seguro de si la licencia lo permite. Una cosa es que sea gratuita y otra que sea de libre distribución.

roman 23-08-2016 15:13:20

¡Vaya! Se ve que esa cosa no se vende ;)

LineComment Saludos

mamcx 23-08-2016 16:03:18

Cita:

Empezado por JXJ (Mensaje 508018)
¿¿si es gratis alguien lo puede compatir en un torrent??


Torrent es un medio de distribucion, no tiene que ver con el licenciamiento.

mamcx 23-08-2016 16:04:35

Cita:

Empezado por roman (Mensaje 508031)
¡Vaya! Se ve que esa cosa no se vende ;)

LineComment Saludos

Mientras Delphi es practicamente unico (no hay otro delphi -osea, FreePascal no es un clon muy exacto-) en C++ Builder no solo es uno entre varios, es el que esta por detras. El fuerte ahora es CLANG.

roman 23-08-2016 16:15:05

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

mamcx 23-08-2016 16:40:35

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.

jhonny 23-08-2016 17:58:57

Cita:

Empezado por mamcx (Mensaje 508040)
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.


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.

mamcx 23-08-2016 18:18:45

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:

def foo(a ba*2*a*b*b

Esto es el LLVM IR (o lenguaje de bajo nivel de LLVM en formato texto "legible"):

Código PHP:

define double @foo(double %adouble %b) {
entry:
  %
multmp fmul double %a, %a
  
%multmp1 fmul double 2.000000e+00, %a
  
%multmp2 fmul double %multmp1, %b
  
%addtmp fadd double %multmp, %multmp2
  
%multmp3 fmul double %b, %b
  
%addtmp4 fadd double %addtmp, %multmp3
  ret double 
%addtmp4


Y de alli LLVM genera un binario nativo. No es full multiplataforma porque LLVM es "compilador como infraestructura" lo que significa que tiene multiples front-ends (lenguajes) y back-ends (compiladores nativos). Por lo tanto, tiene back-end para x86, arm, CUDA (NVidia GPUs), etc.

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.

jhonny 23-08-2016 18:37:44

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 20:27:58.

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