SlideShare una empresa de Scribd logo
1 de 64
Descargar para leer sin conexión
C language
in our world
5.5. 2015 FI MUNI
Brno
@jurajmichalek
http://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
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
Allegro
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 wrapper
Download and prepare infrastructure
Gradle - compile with debug
Gradle build Linux package
Netflix Nebula OS Package plugin:
http://plugins.gradle.org/plugin/nebula.os-package
Build package
Note: Gradle supports abbreviation. You can write hE instead of helloExecutable
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
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/
YSofters
Twitter: @ysoftdevs
GitHub: github.com/ysoftdevs
Blog: www.ysofters.com
Technology Hour: www.meetup.com/ysoft-th
Thesis: Andryi.Stetsko@ysoft.com

Más contenido relacionado

La actualidad más candente

Make Your Own Charting Library with d3
Make Your Own Charting Library with d3Make Your Own Charting Library with d3
Make Your Own Charting Library with d3
yieldbot
 

La actualidad más candente (19)

Go for Mobile Games
Go for Mobile GamesGo for Mobile Games
Go for Mobile Games
 
App inventor for android and similar tools
App inventor for android and similar toolsApp inventor for android and similar tools
App inventor for android and similar tools
 
The Ten (10) Best C/C++ Productivity Tools, Plugins and Libraries
The Ten (10) Best C/C++ Productivity Tools, Plugins and LibrariesThe Ten (10) Best C/C++ Productivity Tools, Plugins and Libraries
The Ten (10) Best C/C++ Productivity Tools, Plugins and Libraries
 
Golang skills session1: introduction
Golang skills session1: introductionGolang skills session1: introduction
Golang skills session1: introduction
 
Flutter bus 2018
Flutter bus 2018Flutter bus 2018
Flutter bus 2018
 
Flutter
FlutterFlutter
Flutter
 
More developers on DevOps with Docker orchestration
More developers on DevOps with Docker orchestrationMore developers on DevOps with Docker orchestration
More developers on DevOps with Docker orchestration
 
Mobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse BindingMobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse Binding
 
Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and Golang
 
Alternatives to Java for Android development
Alternatives to Java for Android developmentAlternatives to Java for Android development
Alternatives to Java for Android development
 
Python Visual Studio | Edureka
Python Visual Studio | EdurekaPython Visual Studio | Edureka
Python Visual Studio | Edureka
 
Make Your Own Charting Library with d3
Make Your Own Charting Library with d3Make Your Own Charting Library with d3
Make Your Own Charting Library with d3
 
Flutter 1
Flutter 1Flutter 1
Flutter 1
 
Alternatives to Java for Android development
Alternatives to Java for Android developmentAlternatives to Java for Android development
Alternatives to Java for Android development
 
Flutter study jam 2019
Flutter study jam 2019Flutter study jam 2019
Flutter study jam 2019
 
Develop Android app using Golang
Develop Android app using GolangDevelop Android app using Golang
Develop Android app using Golang
 
Jedi knight
Jedi knightJedi knight
Jedi knight
 
ITI MDW 2018 Event Talk "building beautiful apps using google flutter"
ITI MDW 2018 Event Talk "building beautiful apps using google flutter"ITI MDW 2018 Event Talk "building beautiful apps using google flutter"
ITI MDW 2018 Event Talk "building beautiful apps using google flutter"
 
Git tutorial for CS320 Students
Git tutorial for CS320 StudentsGit tutorial for CS320 Students
Git tutorial for CS320 Students
 

Destacado

Destacado (17)

There is more to C 2013
There is more to C 2013There is more to C 2013
There is more to C 2013
 
Reinventing Business: Audacity and Humility
Reinventing Business: Audacity and HumilityReinventing Business: Audacity and Humility
Reinventing Business: Audacity and Humility
 
Git, Jenkins & Chuck
Git, Jenkins & ChuckGit, Jenkins & Chuck
Git, Jenkins & Chuck
 
Game Development with SDL and Perl
Game Development with SDL and PerlGame Development with SDL and Perl
Game Development with SDL and Perl
 
Mi portafolio d
Mi portafolio dMi portafolio d
Mi portafolio d
 
C/C++ project @ SRIS
C/C++ project @ SRISC/C++ project @ SRIS
C/C++ project @ SRIS
 
Gradle and build systems for C language
Gradle and build systems for C languageGradle and build systems for C language
Gradle and build systems for C language
 
Advanced C Language for Engineering
Advanced C Language for EngineeringAdvanced C Language for Engineering
Advanced C Language for Engineering
 
[UX Project] C-Saw
[UX Project] C-Saw[UX Project] C-Saw
[UX Project] C-Saw
 
C game programming - SDL
C game programming - SDLC game programming - SDL
C game programming - SDL
 
Snake Game Report
Snake Game ReportSnake Game Report
Snake Game Report
 
snake game
snake gamesnake game
snake game
 
SNAKE GAME
SNAKE GAMESNAKE GAME
SNAKE GAME
 
C++ Project: Subject Registration System
C++ Project: Subject Registration SystemC++ Project: Subject Registration System
C++ Project: Subject Registration System
 
C++ Project
C++ ProjectC++ Project
C++ Project
 
Snake game implementation in c
Snake game implementation in cSnake game implementation in c
Snake game implementation in c
 
c++ project on restaurant billing
c++ project on restaurant billing c++ project on restaurant billing
c++ project on restaurant billing
 

Similar a C language in our world 2015

Similar a C language in our world 2015 (20)

C language in our world 2019
C language in our world 2019C language in our world 2019
C language in our world 2019
 
Gomobile: gophers in the land of Android
Gomobile: gophers in the land of AndroidGomobile: gophers in the land of Android
Gomobile: gophers in the land of Android
 
Why and what is go
Why and what is goWhy and what is go
Why and what is go
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made Easy
 
Webinar on Google Android SDK
Webinar on Google Android SDKWebinar on Google Android SDK
Webinar on Google Android SDK
 
Alvaro Denis Resume
Alvaro Denis ResumeAlvaro Denis Resume
Alvaro Denis Resume
 
Programming In Linux Presentation
Programming In Linux PresentationProgramming In Linux Presentation
Programming In Linux Presentation
 
How to develop a Flutter app.pdf
How to develop a Flutter app.pdfHow to develop a Flutter app.pdf
How to develop a Flutter app.pdf
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Extending Android's Platform Toolsuite
Extending Android's Platform ToolsuiteExtending Android's Platform Toolsuite
Extending Android's Platform Toolsuite
 
2018 20 best id es for python programming
2018 20 best id es for python programming2018 20 best id es for python programming
2018 20 best id es for python programming
 
20 best ide's for python programming in 2018
 20 best ide's for python programming in 2018 20 best ide's for python programming in 2018
20 best ide's for python programming in 2018
 
Scaling applications with go
Scaling applications with goScaling applications with go
Scaling applications with go
 
Google Drive Integration
Google Drive IntegrationGoogle Drive Integration
Google Drive Integration
 
All good things scale - ohs 2020 - 03.13.2020
All good things scale - ohs 2020 - 03.13.2020All good things scale - ohs 2020 - 03.13.2020
All good things scale - ohs 2020 - 03.13.2020
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
Bbs214 Cloud IDEs
Bbs214 Cloud IDEsBbs214 Cloud IDEs
Bbs214 Cloud IDEs
 
INTRODUCTION TO FLUTTER.pdf
INTRODUCTION TO FLUTTER.pdfINTRODUCTION TO FLUTTER.pdf
INTRODUCTION TO FLUTTER.pdf
 
Compilation Of C/C++ program in Android
Compilation Of C/C++ program in AndroidCompilation Of C/C++ program in Android
Compilation Of C/C++ program in Android
 
INTRODUCTION TO FLUTTER BASICS.pptx
INTRODUCTION TO FLUTTER BASICS.pptxINTRODUCTION TO FLUTTER BASICS.pptx
INTRODUCTION TO FLUTTER BASICS.pptx
 

Más de Juraj Michálek

Más de Juraj Michálek (20)

Rust Embedded Development on ESP32 and basics of Async with Embassy
Rust Embedded Development on ESP32 and basics of Async with EmbassyRust Embedded Development on ESP32 and basics of Async with Embassy
Rust Embedded Development on ESP32 and basics of Async with Embassy
 
Embedded Development on ESP32 - FEKT VUT - UREL
Embedded Development on ESP32 - FEKT VUT - URELEmbedded Development on ESP32 - FEKT VUT - UREL
Embedded Development on ESP32 - FEKT VUT - UREL
 
Embedded Rust on ESP2 - Rust Linz
Embedded Rust on ESP2 - Rust LinzEmbedded Rust on ESP2 - Rust Linz
Embedded Rust on ESP2 - Rust Linz
 
How Open Source Community and Espressif made it possible to use Rust language...
How Open Source Community and Espressif made it possible to use Rust language...How Open Source Community and Espressif made it possible to use Rust language...
How Open Source Community and Espressif made it possible to use Rust language...
 
C language in our world 2017
C language in our world 2017C language in our world 2017
C language in our world 2017
 
The story behind PF2014 - Cordova
The story behind PF2014 - CordovaThe story behind PF2014 - Cordova
The story behind PF2014 - Cordova
 
PowerShell UIAtomation
PowerShell UIAtomationPowerShell UIAtomation
PowerShell UIAtomation
 
PowerShell from *nix user perspective
PowerShell from *nix user perspectivePowerShell from *nix user perspective
PowerShell from *nix user perspective
 
Ať se z kódu nepráší! 2013
Ať se z kódu nepráší! 2013Ať se z kódu nepráší! 2013
Ať se z kódu nepráší! 2013
 
Libraries and tools for C++
Libraries and tools for C++Libraries and tools for C++
Libraries and tools for C++
 
There is more to C
There is more to CThere is more to C
There is more to C
 
Startup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionStartup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django session
 
Ať se z kódu nepráší!
Ať se z kódu nepráší!Ať se z kódu nepráší!
Ať se z kódu nepráší!
 
There is much more to C
There is much more to CThere is much more to C
There is much more to C
 
Bezpečnosť v kontexte RIA technológií
Bezpečnosť v kontexte RIA technológiíBezpečnosť v kontexte RIA technológií
Bezpečnosť v kontexte RIA technológií
 
3D svet - Flash a HTML5
3D svet - Flash a HTML53D svet - Flash a HTML5
3D svet - Flash a HTML5
 
Mobile first! Plynulý workflow - AIR
Mobile first! Plynulý workflow - AIRMobile first! Plynulý workflow - AIR
Mobile first! Plynulý workflow - AIR
 
Základy jQuery
Základy jQueryZáklady jQuery
Základy jQuery
 
Svoboda 2011 - Podpora pro 3D modely
Svoboda 2011 - Podpora pro 3D modelySvoboda 2011 - Podpora pro 3D modely
Svoboda 2011 - Podpora pro 3D modely
 
Vývoj pre Google Android
Vývoj pre Google AndroidVývoj pre Google Android
Vývoj pre Google Android
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

C language in our world 2015