65
C language in our world 16.5. 2016 FI MUNI Brno @jurajmichalek https://www.ysofters.com

C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

C language in our world16.5. 2016 FI MUNI

Brno@jurajmichalek

https://www.ysofters.com

Page 2: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Grab the source code

https://github.com/ysoftdevs/cpp-examples

Page 3: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Who am I?

Blog: http://georgik.sinusgear.com

Page 4: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

C language todayNuGet

Gradle & C languageJenkins

IDEsGo language

Page 5: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Programming languages we know strongly influence the way we think about programming.

- JS Conf 2014 - Jenna Zeigen

Page 6: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Breeze of fresh ideas starts blowingfrom other technologies...

Page 7: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

NuGet - http://www.nuget.org

Page 8: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:
Page 9: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:
Page 10: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:
Page 11: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Made with SDL

Page 12: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Made with SDL

Page 13: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Multiplatform

SDL officially supports Windows, Mac OS X, Linux, iOS, and Android.

Support for other platforms may be found in the source code.

Page 14: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

SDL versions

1.2 stable - rock solid

2.x development - new features

Page 15: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

SDL_init(flags)

SDL_INIT_TIMER - The timer subsystemSDL_INIT_AUDIO - The audio subsystemSDL_INIT_VIDEO - The video subsystemSDL_INIT_CDROM - The cdrom subsystemSDL_INIT_JOYSTICK - The joystick subsystemSDL_INIT_EVERYTHING - All of the aboveSDL_INIT_NOPARACHUTE - Prevents SDL from catching fatal signalsSDL_INIT_EVENTTHREAD - Runs the event manager in a separate thread

Page 16: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Quit application

SDL_quit()

Page 17: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Window

SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN);

Page 18: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Load bitmap

SDL_Surface *bmp = nullptr;bmp = SDL_LoadBMP("smajlik.bmp");

Page 19: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Visual data

SDL_RendererSDL_Texture

Page 20: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Keyboard

SDL_PollEvent(SDL_Event *event)

event.key.keysym.sym

Page 21: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Timer

SDL_TimerID SDL_AddTimer( Uint32 interval, SDL_TimerCallback callback, void* param)

Page 22: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Mouse

SDL_GetMouseState(*x, *y);

Page 23: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Text

Not implemented

Page 24: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Extensions

extension for many languages:

C++, Java, PHP, Python, Ruby

Page 25: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

PyGame

Power of C and Power of Pythonhttp://www.pygame.org

Page 26: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Kivy.org

iOSAndroidWindows DesktopWindows PhoneRaspberry Pi

Cross-platform development of smartphone application with the Kivy framework - Master thesis - Mgr. Ondřej Chrastina: http://is.muni.cz/th/430596/fi_m/

Page 27: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:
Page 28: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Allegro

Page 29: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:
Page 30: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Allegro 5.1

Win, Lin, Mac

iOS, Android

http://alleg.sourceforge.net/a5docs/refman/

Page 31: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Initialization

al_init();

Page 32: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Graphic environment

al_create_display(int w, int h)

Page 33: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

L10N - verify your translations

http://www.microsoft.com/Language

Page 34: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Conemu Maximus 5

Powerful terminal for Windowsuse with PowerShell, Python, Ruby…

https://code.google.com/p/conemu-maximus5/

Page 35: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Yum/Apt-like installation of Win packageshttps://chocolatey.org

Page 36: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Gradle Native BuildsC/C++, Objective-C

http://gradle.org/getting-started-native/

Page 37: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Build tool

Exensible by plugins

Power of Domain Specific Language

Page 38: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

http://plugins.gradle.org

Page 39: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Project structure

Convention over configuration

Decrease number of decisions that developers need to makehttp://en.wikipedia.org/wiki/Convention_over_configuration

Page 40: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

C plugin

Page 41: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Gradle command line & GUI

Page 42: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

gradle components

Page 43: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Gradle build Linux package

Netflix Nebula OS Package plugin:http://plugins.gradle.org/plugin/nebula.os-package

Page 44: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:
Page 45: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Build package

Note: Gradle supports abbreviation. You can write hE instead of helloExecutable

Page 46: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Swiss knife tool for web https://curl.haxx.se/

Generate source code:curl http://www.ysoft.com -o index.html --libcurl download.c

Page 47: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Continuous integration

Page 48: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Jenkins

Hit for Windows users: Do not install Jenkins into path with special characters and blank space.E.g: Wrong: C:\Program Files (x86)\Jenkins. Correct: Use C:\projects\jenkins

Page 49: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

IDE & Text editors

Page 50: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

c9.io

Page 51: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Sublime Text

Page 52: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Visual Studio Code

Code editing. Redefined. - https://code.visualstudio.com/

Page 53: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:
Page 54: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Toolchain detection

Page 55: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Edit project

Page 56: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Leverage Refactor

Page 57: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Use Debugger

Page 58: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Fine tune

Disabled by default for all JetBrains tools :-(

Page 59: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Qt Creator

Page 60: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

From desktop to cloud

Software is slowSoftware is hard to writeSoftware is hard to scale

Page 61: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Go

http://golang.org

Authors:● Ken Thompson - known for Unix● Rob Pike - known for UTF-8● Robert Griesemer

Page 62: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Main features of languagesyntax patterns from dynamic languagesperformance of Cblazing fast compilationoutput one binaryconcurrencylibraries from internet (e.g. Github)works on: Mac, Linux, Windows and more...

Page 63: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Materials

Andreas Krennmairhttp://synflood.at/tmp/golang-slides/mrmcd2012.html#1

Steve Franciahttp://spf13.com/presentation/first-go-app/

Page 64: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

Thanks to artistsimages used in this presentation were published under creative commons license. Links to originals:

http://www.flickr.com/photos/fatboyke/3405148748/ http://www.flickr.com/photos/teveve/6301993588/ http://www.flickr.com/photos/stevewilhelm/6242822362/ http://en.wikipedia.org/wiki/Chess http://www.flickr.com/photos/akosma/9486807123/ http://www.flickr.com/photos/charlestilford/6362884553/ http://www.flickr.com/photos/ciat/6917871707/ http://www.flickr.com/photos/anieto2k/4455227465/ http://www.geograph.ie/photo/1113036 http://commons.wikimedia.org/wiki/File:Dark_Sky_(3274525313).jpg http://www.elfwood.com/~arknott/Red-Dragon.2539297.html http://commons.wikimedia.org/wiki/File:Wolf-River-swamp-North-Mississippi.jpg http://pako0007.deviantart.com/art/Zombie-Imp-2-267822507 http://www.flickr.com/photos/bogenfreund/367091428/ http://www.flickr.com/photos/infinite-magic/4016608841/ http://www.flickr.com/photos/lennysan/4403695597/ http://www.flickr.com/photos/avaverino/4870587458/

Page 65: C language in our world @jurajmichalek Brno 16.5. …...2016/05/16  · Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g:

YSofters

Twitter: @ysoftdevsGitHub: github.com/ysoftdevs

Blog: www.ysofters.comTechnology Hour: www.meetup.com/ysoft-th

Thesis: [email protected]