SlideShare a Scribd company logo
C language
in our world
16.5. 2016 FI MUNI
Brno
@jurajmichalek
https://www.ysofters.com
Grab the source code
https://github.com/ysoftdevs/cpp-examples
Who am I?
Blog: http://georgik.sinusgear.com
C language today
NuGet
Gradle & C language
Jenkins
IDEs
Go language
Programming languages we know
strongly influence the way we think
about programming.
- JS Conf 2014 - Jenna Zeigen
Breeze of fresh ideas starts blowing
from other technologies...
NuGet - http://www.nuget.org
C language in our world 2016
C language in our world 2016
C language in our world 2016
Made with SDL
Made with SDL
Multiplatform
SDL officially supports
Windows, Mac OS X, Linux, iOS, and Android.
Support for other platforms may be found in the
source code.
SDL versions
1.2 stable - rock solid
2.x development - new features
SDL_init(flags)
SDL_INIT_TIMER - The timer subsystem
SDL_INIT_AUDIO - The audio subsystem
SDL_INIT_VIDEO - The video subsystem
SDL_INIT_CDROM - The cdrom subsystem
SDL_INIT_JOYSTICK - The joystick subsystem
SDL_INIT_EVERYTHING - All of the above
SDL_INIT_NOPARACHUTE - Prevents SDL from catching fatal signals
SDL_INIT_EVENTTHREAD - Runs the event manager in a separate thread
Quit application
SDL_quit()
Window
SDL_CreateWindow("Hello World!", 100, 100,
640, 480, SDL_WINDOW_SHOWN);
Load bitmap
SDL_Surface *bmp = nullptr;
bmp = SDL_LoadBMP("smajlik.bmp");
Visual data
SDL_Renderer
SDL_Texture
Keyboard
SDL_PollEvent(SDL_Event *event)
event.key.keysym.sym
Timer
SDL_TimerID SDL_AddTimer(
Uint32 interval,
SDL_TimerCallback callback,
void* param)
Mouse
SDL_GetMouseState(*x, *y);
Text
Not implemented
Extensions
extension for many languages:
C++, Java, PHP, Python, Ruby
PyGame
Power of C and Power of Python
http://www.pygame.org
Kivy.org
iOS
Android
Windows Desktop
Windows Phone
Raspberry 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/
C language in our world 2016
Allegro
C language in our world 2016
Allegro 5.1
Win, Lin, Mac
iOS, Android
http://alleg.sourceforge.net/a5docs/refman/
Initialization
al_init();
Graphic environment
al_create_display(int w, int h)
L10N - verify your translations
http://www.microsoft.com/Language
Conemu Maximus 5
Powerful terminal for Windows
use with PowerShell, Python, Ruby…
https://code.google.com/p/conemu-maximus5/
Yum/Apt-like installation of Win packages
https://chocolatey.org
Gradle Native Builds
C/C++, Objective-C
http://gradle.org/getting-started-native/
Build tool
Exensible by plugins
Power of Domain Specific Language
http://plugins.gradle.org
Project structure
Convention over configuration
Decrease number of decisions that
developers need to make
http://en.wikipedia.org/wiki/Convention_over_configuration
C plugin
Gradle command line & GUI
gradle components
Gradle build Linux package
Netflix Nebula OS Package plugin:
http://plugins.gradle.org/plugin/nebula.os-package
C language in our world 2016
Build package
Note: Gradle supports abbreviation. You can write hE instead of helloExecutable
Swiss knife tool for web https://curl.haxx.se/
Generate source code:
curl http://www.ysoft.com -o index.html --libcurl download.c
Continuous integration
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:projectsjenkins
IDE & Text editors
c9.io
Sublime Text
Visual Studio Code
Code editing. Redefined.
- https://code.visualstudio.com/
C language in our world 2016
Toolchain detection
Edit project
Leverage Refactor
Use Debugger
Fine tune
Disabled by default for all JetBrains tools :-(
Qt Creator
From desktop to cloud
Software is slow
Software is hard to write
Software is hard to scale
Go
http://golang.org
Authors:
● Ken Thompson - known for Unix
● Rob Pike - known for UTF-8
● Robert Griesemer
Main features of language
syntax patterns from dynamic languages
performance of C
blazing fast compilation
output one binary
concurrency
libraries from internet (e.g. Github)
works on: Mac, Linux, Windows and more...
Materials
Andreas Krennmair
http://synflood.at/tmp/golang-slides/mrmcd2012.html#1
Steve Francia
http://spf13.com/presentation/first-go-app/
Thanks to artists
images 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/
YSofters
Twitter: @ysoftdevs
GitHub: github.com/ysoftdevs
Blog: www.ysofters.com
Technology Hour: www.meetup.com/ysoft-th
Thesis: Andryi.Stetsko@ysoft.com

More Related Content

PDF
C language in our world 2015
PDF
Story behind PF 2016
PDF
C++ and Software Engineering 2015
PDF
C++ in our world
PDF
Continuous Delivery - FIT VUT
PDF
Bigger & Better RnD - GeeCON.cz 2014
PPTX
C/C++ Remote Development Overview
PDF
Porting golang development environment developed with golang
C language in our world 2015
Story behind PF 2016
C++ and Software Engineering 2015
C++ in our world
Continuous Delivery - FIT VUT
Bigger & Better RnD - GeeCON.cz 2014
C/C++ Remote Development Overview
Porting golang development environment developed with golang

What's hot (19)

PDF
(Live) build and run golang web server on android.avi
PDF
A good intro to Flutter and its magic
PDF
Golang skills session1: introduction
PPTX
Continuously Break The Android
PDF
The Ten (10) Best C/C++ Productivity Tools, Plugins and Libraries
PPTX
PDF
Jedi knight
PPTX
More developers on DevOps with Docker orchestration
PDF
Python Visual Studio | Edureka
PDF
Flutter 2.8 features and updates
PPTX
A flight with Flutter
PDF
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
PDF
PDF
Building beautiful apps with Google flutter
PDF
Droidcon Online 2020 quick summary
PPTX
Universal groovy
PDF
Git hub videowhisper-php-webcam-video-conference_ video conference_ web bas...
ODP
Impress
PPTX
Mobile app development with Flutter: The Need for Speed!
(Live) build and run golang web server on android.avi
A good intro to Flutter and its magic
Golang skills session1: introduction
Continuously Break The Android
The Ten (10) Best C/C++ Productivity Tools, Plugins and Libraries
Jedi knight
More developers on DevOps with Docker orchestration
Python Visual Studio | Edureka
Flutter 2.8 features and updates
A flight with Flutter
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Building beautiful apps with Google flutter
Droidcon Online 2020 quick summary
Universal groovy
Git hub videowhisper-php-webcam-video-conference_ video conference_ web bas...
Impress
Mobile app development with Flutter: The Need for Speed!
Ad

Similar to C language in our world 2016 (20)

PDF
C language in our world 2019
PPTX
C# Production Debugging Made Easy
PDF
Alvaro Denis Resume
PPTX
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
PPTX
Alternatives to Java for Android development
PPTX
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
PDF
All good things scale - ohs 2020 - 03.13.2020
ODP
Programming In Linux Presentation
PPT
Webinar on Google Android SDK
PPTX
Getting started with the NDK
PDF
International Journal of Engineering Research and Development
PPT
Alternatives to Java for Android development
DOCX
Programming in c plus plus2
PDF
Google Drive Integration
PDF
Working with the AOSP - Linaro Connect Asia 2013
PPTX
NDK Introduction
PDF
Green flag Wrap up Google Solution Challenge.pdf
PPTX
Bbs214 Cloud IDEs
ODP
Some wonderful Linux softwares for daily use
PDF
Code, ci, infrastructure - the gophers way
C language in our world 2019
C# Production Debugging Made Easy
Alvaro Denis Resume
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
Alternatives to Java for Android development
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
All good things scale - ohs 2020 - 03.13.2020
Programming In Linux Presentation
Webinar on Google Android SDK
Getting started with the NDK
International Journal of Engineering Research and Development
Alternatives to Java for Android development
Programming in c plus plus2
Google Drive Integration
Working with the AOSP - Linaro Connect Asia 2013
NDK Introduction
Green flag Wrap up Google Solution Challenge.pdf
Bbs214 Cloud IDEs
Some wonderful Linux softwares for daily use
Code, ci, infrastructure - the gophers way
Ad

More from Juraj Michálek (20)

PDF
Rust Embedded Development on ESP32 and basics of Async with Embassy
PDF
Embedded Development on ESP32 - FEKT VUT - UREL
PDF
Embedded Rust on ESP2 - Rust Linz
PDF
How Open Source Community and Espressif made it possible to use Rust language...
PDF
C language in our world 2017
PDF
Gradle and build systems for C language
PDF
The story behind PF2014 - Cordova
PDF
There is more to C 2013
PDF
PowerShell UIAtomation
PDF
PowerShell from *nix user perspective
PDF
Ať se z kódu nepráší! 2013
PDF
Libraries and tools for C++
PDF
There is more to C
PDF
Git, Jenkins & Chuck
PDF
Startup Camp - Git, Python, Django session
PDF
Ať se z kódu nepráší!
PDF
There is much more to C
PDF
Bezpečnosť v kontexte RIA technológií
PDF
3D svet - Flash a HTML5
PDF
Mobile first! Plynulý workflow - AIR
Rust Embedded Development on ESP32 and basics of Async with Embassy
Embedded Development on ESP32 - FEKT VUT - UREL
Embedded Rust on ESP2 - Rust Linz
How Open Source Community and Espressif made it possible to use Rust language...
C language in our world 2017
Gradle and build systems for C language
The story behind PF2014 - Cordova
There is more to C 2013
PowerShell UIAtomation
PowerShell from *nix user perspective
Ať se z kódu nepráší! 2013
Libraries and tools for C++
There is more to C
Git, Jenkins & Chuck
Startup Camp - Git, Python, Django session
Ať se z kódu nepráší!
There is much more to C
Bezpečnosť v kontexte RIA technológií
3D svet - Flash a HTML5
Mobile first! Plynulý workflow - AIR

Recently uploaded (20)

PDF
medical staffing services at VALiNTRY
PDF
System and Network Administration Chapter 2
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Introduction to Artificial Intelligence
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Transform Your Business with a Software ERP System
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
assetexplorer- product-overview - presentation
medical staffing services at VALiNTRY
System and Network Administration Chapter 2
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Wondershare Filmora 15 Crack With Activation Key [2025
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Navsoft: AI-Powered Business Solutions & Custom Software Development
Adobe Illustrator 28.6 Crack My Vision of Vector Design
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
wealthsignaloriginal-com-DS-text-... (1).pdf
PTS Company Brochure 2025 (1).pdf.......
Odoo POS Development Services by CandidRoot Solutions
Design an Analysis of Algorithms I-SECS-1021-03
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
CHAPTER 2 - PM Management and IT Context
L1 - Introduction to python Backend.pptx
Introduction to Artificial Intelligence
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Transform Your Business with a Software ERP System
Understanding Forklifts - TECH EHS Solution
assetexplorer- product-overview - presentation

C language in our world 2016