biicode, reuse and play

Post on 15-Jan-2015

193 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Francisco Fernández Castaño

@fcofdezc

www.biicode.com

“Los programadores de C++ somos los peores en

reutilización de código”

Bjarne Stroustrup

➜ node git:(master) ls -l deps total 0 drwxr-xr-x 13 fran staff 442 16 feb 17:22 cares drwxr-xr-x 15 fran staff 510 16 feb 17:22 http_parser drwxr-xr-x 7 fran staff 238 16 feb 17:22 mdb_v8 drwxr-xr-x 21 fran staff 714 16 feb 17:22 npm drwxr-xr-x 7 fran staff 238 16 feb 17:22 openssl drwxr-xr-x 25 fran staff 850 16 feb 17:22 uv drwxr-xr-x 23 fran staff 782 16 feb 17:22 v8 drwxr-xr-x 29 fran staff 986 16 feb 17:22 zlib ➜ node git:(master)

sudo apt-get install opencv

brew install opencv

????? opencv

Hay muchos usuarios de Windows

Hay muchos usuarios de Windows

SETUP

Tu ordenador

Tu sistema

Tus herramientas

SETUP

Talk is cheap. Show me the code.

Linus Tolvards

Hello Bii!!$ bii new hello

Hello Bii!!$ bii new hello

#include “hello.h” int main(){ hello(); }$ vim

void main();

#include “hello.h” void hello(){ cout<<“HelloBii!”<<endl; }

fran/helloblock/main.cpp

fran/helloblock/hello.h

fran/helloblock/hello.cpp

Hello Bii!!$ bii new hello

#include “hello.h” int main(){ hello(); }$ vim

void main();

#include “hello.h” void hello(){ cout<<“HelloBii!”<<endl; }

fran/helloblock/main.cpp

fran/helloblock/hello.h

fran/helloblock/hello.cpp$ bii cpp:run HelloBii!!

#include “hello.h” int main(){ hello(); }

void main();

#include “hello.h” void hello(){ cout<<“HelloBii!”<<endl; }

fran/helloblock/main.cpp

fran/helloblock/hello.h

fran/helloblock/hello.cpp

Grafo de dependencias

ADD_EXECUTABLE(fran_hello main.cpp hello.cpp)

CMakeLists.txt

Construcción automática

Publish

$ bii publish tag: STABLE msg: MyHello main.cpp

hello.h

hello.cpp

main.cpp

hello.h

hello.cpp

MacBook Fran

biicode

Solo necesitamos un comando

Reuse & Play(john) $ bii new hello

Reuse & Play$ bii new hello

#include “fran/helloblock/hello.h” void repeat(){ hello(); hello(); }$ vim

void repeat();#include “repeat.h” int main(){ repeat(); }

john/repeatblock/repeat.h

john/repeatblock/main.cpp

Reuse & Play$ bii new hello

#include “fran/helloblock/hello.h” void repeat(){ hello(); hello(); }$ vim

void repeat();#include “repeat.h” int main(){ repeat(); }

john/repeatblock/repeat.h

john/repeatblock/main.cpp

$ bii find

$ bii cpp:run

HelloBii!!HelloBii!!

Find

main.cpp

hello.h

hello.cpp

biicode

void repeat();

john/repeatblock/repeat.h

john/repeatblock/main.cpp

fran/helloblock/hello.h

fran/helloblock/hello.cpp

src dep

ADD_LIBRARY(fran_hello hello.cpp) ADD_EXECUTABLE(john_repeat main.cpp) TARGET_LINK_LIBRARIES(john_repeat fran_hello)

CMakeLists.txt

Construcción automática

Publish

$ bii publish tag: STABLE msg: MyRepeat main.cpp

hello.h

main.cpp

hello.h

hello.cpp

PC John

biicode

Publish

main.cpp

hello.h

main.cpp

hello.h

hello.cpp

PC John

biicode

main.cpp

repeat.h

Reuse & Play(carmack)$ bii new doom3

$ vim

void repeat();

#include “john/repeatblock/repeat.h” int main(){ repeat(); }

john/doom3/main.cpp

$ bii find

$ bii cpp:run

HelloBii!!HelloBii!!

main.cpp

hello.h

hello.cpp

biicode

main.cpp

repeat.h

Reuse & Play

biicode way

#include “google/gtest/gtest.h”

bii find

sleep

Update

$ vim #include “hello.h” void hello(){ cout<<“Bii rocks!”<<endl; }

fran/helloblock/hello.cpp

$ bii publish tag: STABLE msg: 2 version

main.cpp

hello.h

hello.cpp

0

main.cpp

hello.h

hello.cpp

1

hello.cpp

Reuse & Play

#include “repeat.h” int main(){ repeat(); }

(john)$ bii find —-update

$ bii cpp:run

Bii rocks!Bii rocks!

Se pueden definir políticas de resolución de dependencias

Tags y Versiones

Autores

Ramas

biicode garantiza compatibilidad entre ficheros

Otras features

Ficheros de datos

Build configuration

Configuration rules

Colaboración

Métricas reales de uso a nivel de fichero

main.cpp

hello.h

hello.cpp

biicode

main.cpp

repeat.h

¿Cómo?

PREMIUM USERS

OPEN SOURCE PROPRIETARY CODE

FREE USERS

€$

REVENUE SPLIT

$

Biicode gives back!

Roadmap

#biicontest2014

1000 € 500 € 300 €

https://www.biicode.com/biicontest2014-es

Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse:

complexity sells better.

Edsger W. Dijkstra

¡GRACIAS!

top related