El Frink es un lenguaje de programación calculador de la herramienta y diseñado por Alan Eliasen. Incorpora las características similares a Java, al Perl, al rubí, al palique, y a las varias puestas en práctica del BASIC. Su foco principal está en los campos de la ciencia, de la ingeniería, de la física, del proceso de texto, y de la educación .
La lengua se nombra en honor del profesor Juan Frink, que brillante (pero ficticio) predijo, hace décadas, " del ; Predigo que en el plazo de 100 años, las computadoras serán dos veces tan de gran alcance, diez veces del mil más grande, y tan costoso que solamente los cinco reyes más ricos de Europa poseerán them."
Una de las características de distinción de Frink es que sigue unidades de medida con todos los cálculos. Esto permite que todos los valores contengan una cantidad y sus unidades de medida. Frink entiende cómo diversas unidades de medida correlacionan, por ejemplo una longitud cubicada es un volumen, o la energía multiplicada por tiempo es energía. Diversas unidades de medida se pueden mezclar en cálculos, y Frink se asegura automáticamente de que los cálculos lleven a un resultado con las dimensiones previstas.
altura = 3 pies gravitación = 9.80665 m/s^2 masa = 60 kilogramos Potential_energy = altura * gravitación * masa println - > exhibición de // de los julios en los julios
La distribución estándar viene con un fichero de datos que contenga millares de las unidades de medida mas comunes, junto con datos comunes tales como masas de partículas elementales, datos planetarios, y medidas históricas. El fichero de datos estándar utiliza las unidades bajas del SI como sus unidades de medida fundamentales, y amplía esto con las unidades para la moneda y la información (pedacitos). El fichero de datos estándar se puede substituir totalmente por el usuario, y las nuevas unidades e incluso las dimensiones fundamentales se pueden agregar en el tiempo de pasada.
El sintaxis de Frink intenta seguir la notación matemática estándar cuando es inequívoco. Por ejemplo, la declaración antedicha se podía reescribir usar la multiplicación implícita entre las tres unidades:
masa de la gravitación de la altura
Frink no es exactamente un dinámicamente mecanografiado ni una lengua estáticamente mecanografiada . Por abandono, cualquier valor se puede poner en variable. Sin embargo, para más seguridad, los apremios arbitrarios se pueden poner en variable, asegurándose de que solamente los valores que resuelven los apremios se pueden asignar a la variable. Por ejemplo, uno puede obligar a una variable que contenga solamente los valores que tienen dimensiones de la energía:
el var p es energía = 10 vatios
Cualquier número de apremios arbitrarios se puede poner en una variable, incluyendo los apremios descritos por funciones definidas por el usario. Por ejemplo, obligase a una variable o una discusión de la función se podía que contenga solamente los números primeros mayor de 100.
Frink tiene números flotantes arbitrary-precision de los números racionales del arbitrario-tamaño de los números enteros del arbitrario-tamaño, los números complejos e intervalo aritmético.
Los valores de la fecha/de hora se integran con las unidades de medida. Los literales de la fecha/de la hora son rodeados por la muestra # de la libra y se pueden analizar en una gran variedad de formatos. Una fecha/una hora representa un momento particular a tiempo, y se puede convertir a diversos timezones, día juliano, modificó día juliano, época dinámica, y otros sistemas de tiempo. Un valor con dimensiones del tiempo se puede agregar a o restar a partir de una fecha/de una hora de obtener una nueva fecha y hora. Además, una fecha/un valor de tiempo se puede restar de otro valor de la fecha/de hora para obtener el intervalo entre las fechas.
El programa siguiente demuestra la dirección de la fecha. Calcula la fecha/la hora que el reloj de una computadora fallará si los tiempos se representan como número entero de 32 bits firmado del complemento de dos, indicando los segundos de la época de Unix.
00:00 #1970-01-01 UTC# + segundos (2^31-1) - > UTC 03:14 del ANUNCIO 2038-01-19 del : 07.000 Tiempo universal coordinado de la (Tue)
Frink utiliza los carácteres de Unicode en todas partes, permitiendo que represente la mayor parte de las idiomas de mundo.
Frink tiene expresiones regulares para el proceso de texto que sean muy similares a ésas en Perl o el rubí .
Otros datatypes incorporados incluyen los órdenes dinámicamente dimensionables, diccionarios, sistemas, enumerando expresiones, y funciones anónimas. Frink también permite la escritura de los programas orientados al objeto, aunque la herencia todavía no se ejecute.
Frink puede llamar los métodos de Java y convertir automáticamente sus tipos internos a y desde los tipos de Java, permitiendo el uso de las bibliotecas externas de Java. Frink se puede también encajar en un programa de Java con solamente algunas líneas de código.
El servidor de Frink pagina las aplicaciones Frink como lengua para crear recursos en Internet dinámicos, similar a PHP o páginas activas del servidor.
Se ejecuta en Java y funcionará en una versión 1.1 de la máquina virtual de Java y más adelante. Esto incluye PersonalJava 1.1 puestas en práctica que incluyan puestas en práctica de las bibliotecas opcionales Java.math del Frink contiene un motor el patrón-emparejar y de la árbol-reescritura que permita la transformación de una expresión matemática a otra. Esto permite la manipulación simbólica de ecuaciones, simplificación de expresiones algebraicas, y los derivados simbólicos y los integrales con las reglas apropiadas definidas. El intérprete es el Freeware, pero su código fuente no está disponible.
. Incluye un interfaz del modo de texto así como dos diversos interfaces gráficos usar las bibliotecas de Java AWT y del oscilación respectivamente. Random links: Norman Rockwell | Leusden | Por Jeeves | Día del libro de Canadá | Michael Forsberg