Máquina Virtual HipHop HHVM es una máquina virtual de código abierto basada en la compilación just-in-time (JIT) que sirve como motor de ejecución para el lenguaje de programación Hack.
Mediante el uso del principio de compilación JIT, el código Hack se transforma primero en código intermedio de HipHop (HHBC), que luego se traduce dinámicamente a código de máquina x86-64.
Es un lenguaje de programación para la maquina virtual HipHop, y es un dialecto de PHP.
«el 80% del esfuerzo de desarrollo (en tiempo y recursos) produce el 20% del código, mientras que el 80% restante es producido con tan solo un 20% del esfuerzo».
"debemos de olvidar las pequeñas eficiencias, digamos alrededor del 97% del tiempo"
«En el artículo de Donald Knuth "Structured Programming With GoTo Statements" escribió: "Los programadores pierden enormes cantidades de tiempo pensando o preocupándose por la velocidad de las partes no críticas de sus programas, y estos intentos de eficiencia realmente tienen un fuerte impacto negativo cuando a la depuración y el mantenimiento; debemos de olvidar las pequeñas eficiencias, digamos alrededor del 97% del tiempo: la optimización prematura es la raíz de todo mal. Sin embargo, no debemos dejar pasar nuestras oportunidades en ese crítico 3%".»
Restful Representational state transfer (REST) es la arquitectura de software que utiliza una interfaz uniforme entre componentes físicamente separados, a menudo a través de Internet sobre una arquitectura Cliente-Servidor
En las CC, el término divide y vencerás hace referencia a uno de los más importantes paradigmas de diseño algorítmico.
La idea central es de manera recursiva un problema dividirlo en dos o más subproblemas de igual tipo o similar. Hasta que se llega a un resultado simple.
Al final, las soluciones a cada uno de los subproblemas se combinan para dar una solución al problema original.
En política y psicología, divide y vencerás o dividir para reinar (del griego: διαίρει καὶ βασίλευε, diaírei kaì basíleue) es ganar y mantener el poder mediante la ruptura en piezas de las concentraciones más grandes, que tienen individualmente menos energía. El concepto se refiere a una estrategia que rompe las estructuras de poder existentes y evita la vinculación de los grupos de poder más pequeños. Podría ser utilizada en todos los ámbitos en los que, para obtener un resultado favorable, es en primer lugar necesario o ventajoso romper o dividir lo que se opone a la solución o a un determinado problema inicial.
El problema no solo es mio, entonces ya debe haber alguien con una solución
Comparación
× | source | secs | mem | cpu |
---|---|---|---|---|
1.0 | Rust #4 | 7.21 | 10,932 | 28.34 |
1.0 | C gcc #5 | 7.53 | 11,224 | 29.37 |
1.1 | Rust #5 | 7.77 | 10,932 | 30.49 |
1.1 | C++ g++ #5 | 7.99 | 10,936 | 31.23 |
1.1 | Chapel #2 | 8.09 | 10,932 | 32.18 |
1.1 | Ada 2012 GNAT #3 | 8.23 | 10,936 | 32.72 |
1.1 | Go #3 | 8.25 | 10,936 | 32.92 |
1.2 | F# .NET #6 | 8.33 | 106,496 | 32.25 |
1.2 | OCaml #3 | 8.76 | 11,132 | 34.99 |
1.2 | OCaml #4 | 8.77 | 11,128 | 35.06 |
1.3 | C# .NET #6 | 9.16 | 30,572 | 36.34 |
× | source | secs | mem | cpu |
---|---|---|---|---|
1.3 | C++ g++ #2 | 9.51 | 10,912 | 37.33 |
1.4 | F# .NET #5 | 9.75 | 111,368 | 38.19 |
1.4 | C++ g++ #4 | 9.82 | 10,912 | 38.52 |
1.4 | Lisp SBCL #4 | 9.96 | 29,748 | 39.01 |
1.4 | Classic Fortran #3 | 10.26 | 11,160 | 40.95 |
1.4 | C++ g++ | 10.39 | 10,912 | 40.77 |
1.5 | Free Pascal | 10.54 | 11,220 | 42.09 |
1.5 | Java | 10.71 | 40,324 | 42.25 |
1.5 | Node js #5 | 11.08 | 81,124 | 43.87 |
1.6 | Go | 11.83 | 11,128 | 47.26 |
40 | Python 3 #4 | 285.20 | 14,264 | 18 min |
logo | |
extensiones | .h .hh .hpp .hxx .h++ .cc .cpp .cxx .c++ |
Paradigmas | procedural, imperativo, funcional, orientado a objeto, genérico, modular. |
Apareció por primera vez | 1985 ( hace 38 años ) |
Diseñado por | Bjarne Stroustrup, Bell Labs |
Stable release | C++20 (ISO/IEC 14882:2020) |
Release date | 15 de diciembre del 2020; hace 2 años |
Preview release | C++23 |
Disciplina de tipos | Estático, fuerte, nominativo, parcialmente inferido |
Implementaciones | GCC, LLVM Clang, Microsoft Visual C++, Intel C++ Compiler, IBM XL C++, EDG |
Influenciado por | Ada, ALGOL 68, BCPL, C, CLU, ML, Mesa, Modula-2,[1] Simula, Smalltalk |
Influyo | Ada 95, C#, C99, Chapel, Clojure, D, Java, JS++, Lua, Nim, Objective-C++, Perl, PHP, Python, Rust, Seed7, Carbon |
Sistemas Operativos | Multi plataforma |
ngrest es un framework REST en C++. Es pequeño, rápido y muy fácil de usar.
#include <ngrest/common/Service.h> class myproject: public ngrest::Service { public: std::string echo(const std::string& text); };
#include "myproject.h" std::string myproject::echo(const std::string& text) { return "Hi, " + text; }
// *method: POST // *location: echo std::string echoPost(const std::string& text); //! a simple operation "echo" /*! example of GET request: http://server:port/ngrest/examples/Echo?text=Hello%20World! */ // *method: GET // *location: echo?text={text} std::string echoGet(const std::string& text); }; }}
Es un ORM pequeño y fácil de usar, para trabajar junto con ngrest.
Ventajas:
DBMS soportados:
#include <ngrest/common/Nullable.h> // *table: users struct User { // *pk: true // *autoincrement: true int id; std::string name; // *unique: true // *type: varchar(64) std::string email; // *type: timestamp // *default: CURRENT_TIMESTAMP // *ignoreOnInsert: true std::string registered; };
Francesco Vianello (30 de agosto de 1952 - 3 de mayo de 2009), más conocido por su apodo Fravia+, fue un ingeniero inverso de software y «seeker» conocido por su archivo web de las técnicas y trabajos sobre ingeniería inversa.
Edward Joseph Snowden (Elizabeth City, 21 de junio de 1983) es un consultor tecnológico estadounidense, informante, antiguo empleado de la CIA (Agencia Central de Inteligencia) y de la NSA (Agencia de Seguridad Nacional).
En junio del 2013, Snowden hizo públicos, a través de los periódicos The Guardian y The Washington Post, documentos clasificados como alto secreto sobre varios programas de la NSA, incluyendo los programas de vigilancia masiva PRISM y XKeyscore
Aaron Hillel Swartz (8 de noviembre de 1986, Chicago - 11 de enero de 2013, Nueva York) fue un programador, emprendedor, escritor, activista político y hacktivista de Internet. Estuvo involucrado en el desarrollo del formato de fuente web RSS, y el formato de publicación Markdown, la organización Creative Commons, la infraestructura del sitio web "web.py" y el sitio web de marcadores sociales Reddit, del cual se convirtió en socio luego de que éste se fusionara con su compañía, Infogami. Recibió atención de los medios después de la recolección de artículos de revistas académicas JSTOR.
Fue diseñador jefe del proyecto inicial de Open Library.
Alexandra Asanovna Elbakyan (1988) es una desarrolladora de software y neurocientífica de Kazajistán, más conocida por ser la fundadora del proyecto Sci-Hub en 2011 una web de acceso libre a más de 40 millones de artículos científicos recientes.
Donald Ervin Knuth (Milwaukee, Wisconsin; 10 de enero 1938) es un reconocido experto en ciencias de la computación estadounidense y matemático, famoso por su fructífera investigación dentro del análisis de algoritmos y compiladores.
30 años en docencia universitaria de pregrado y posgrado en informática e ingeniería de software y 20 años en la industria del software.
"Improving type-error messages in functional languages" Bastiaan Heeren, Johan Jeuring, Doaitse Swierstra, Pablo Azero Alcocer