0
There is more to C
26.11.2013
FI MUNI, Brno
Juraj Michálek
http://georgik.sinusgear.com
Grab the source code
https://github.com/georgik/fimuni-c-cpp-examples.git
Who am I?
Fairy tale of C kingdom
VS 2013 - tools
SDL
Automation Evolved
Once upon a time
there lived a mighty king
His name was C
He ruled nearly everything
telecom, medicine, banks, games
King was getting older and paunchy
World was changing
Changing so fast..
New rivals have arrived
Caravane with nomads
from the land of Perl
Lords of snakes
from the land of Python
Jewelers from the the land of Ruby
Sharp warriors from the land of .Net
Coffee magnates
from the land of Java
Cocoa drinkers
from the land of Apple trees
Old kingdom of C fell into oblivion
People were scared to enter
the realm of old C
Beware SIGSEGV dragons!
Memory leak swamps!
Zombies of legacy code!
Evil MACROmancers
#define true false
Insidious multi-threaded bugs.
Scary place for life
The era of Cloud has emerged
Technologies influencing each other
Breeze of fresh ideas starts blowing
from NodeJS, AngularJS and others
Old rust is falling apart
New shiny tools and libraries
Scalable
Portable
Distributed
Performance
Asynchronous
Memory and energy efficiet
tiobe.com - programming lang. index
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...
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 subsy...
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, Lua, Perl, PHP, Python, Ruby
PyGame
Power of C and Power of Python
http://www.pygame.org
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)
Autiomation Evolved
Gradle - cpp-exe
Gradle wrapper
Download and prepare infrastructure
Gradle - compile with debug
Cppcheck
L10N - verify your translations

http://www.microsoft.com/Language
Continuous integration
Opportunity for
innovative students

Bachelor and master thesis @Y Soft
Contact person: Andriy.Stetsko@ysoft.com
Thanks to artists
images used in this presentation were published under creative commons license. Links to originals:
http...
There is more to C 2013
There is more to C 2013
There is more to C 2013
There is more to C 2013
There is more to C 2013
There is more to C 2013
There is more to C 2013
There is more to C 2013
Upcoming SlideShare
Loading in...5
×

There is more to C 2013

1,689

Published on

Talks @FI MUNI Brno about C programming language and libraries. Topic of SDL2 library, Gradle build for C/C++

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,689
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "There is more to C 2013"

  1. 1. There is more to C 26.11.2013 FI MUNI, Brno Juraj Michálek http://georgik.sinusgear.com
  2. 2. Grab the source code https://github.com/georgik/fimuni-c-cpp-examples.git
  3. 3. Who am I?
  4. 4. Fairy tale of C kingdom VS 2013 - tools SDL Automation Evolved
  5. 5. Once upon a time
  6. 6. there lived a mighty king
  7. 7. His name was C
  8. 8. He ruled nearly everything telecom, medicine, banks, games
  9. 9. King was getting older and paunchy
  10. 10. World was changing
  11. 11. Changing so fast..
  12. 12. New rivals have arrived
  13. 13. Caravane with nomads from the land of Perl
  14. 14. Lords of snakes from the land of Python
  15. 15. Jewelers from the the land of Ruby
  16. 16. Sharp warriors from the land of .Net
  17. 17. Coffee magnates from the land of Java
  18. 18. Cocoa drinkers from the land of Apple trees
  19. 19. Old kingdom of C fell into oblivion
  20. 20. People were scared to enter the realm of old C
  21. 21. Beware SIGSEGV dragons!
  22. 22. Memory leak swamps!
  23. 23. Zombies of legacy code!
  24. 24. Evil MACROmancers #define true false
  25. 25. Insidious multi-threaded bugs.
  26. 26. Scary place for life
  27. 27. The era of Cloud has emerged
  28. 28. Technologies influencing each other
  29. 29. Breeze of fresh ideas starts blowing from NodeJS, AngularJS and others
  30. 30. Old rust is falling apart New shiny tools and libraries
  31. 31. Scalable Portable Distributed Performance Asynchronous Memory and energy efficiet
  32. 32. tiobe.com - programming lang. index
  33. 33. NuGet - http://www.nuget.org
  34. 34. Made with SDL
  35. 35. Made with SDL
  36. 36. Multiplatform SDL officially supports Windows, Mac OS X, Linux, iOS, and Android. Support for other platforms may be found in the source code.
  37. 37. SDL versions 1.2 stable - rock solid 2.x development - new features
  38. 38. 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
  39. 39. Quit application SDL_quit()
  40. 40. Window SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
  41. 41. Load bitmap SDL_Surface *bmp = nullptr; bmp = SDL_LoadBMP("smajlik.bmp");
  42. 42. Visual data SDL_Renderer SDL_Texture
  43. 43. Keyboard SDL_PollEvent(SDL_Event *event) event.key.keysym.sym
  44. 44. Timer SDL_TimerID SDL_AddTimer( Uint32 interval, SDL_TimerCallback callback, void* param)
  45. 45. Mouse SDL_GetMouseState(*x, *y);
  46. 46. Text Not implemented
  47. 47. Extensions extension for many languages: C++, Java, Lua, Perl, PHP, Python, Ruby
  48. 48. PyGame Power of C and Power of Python http://www.pygame.org
  49. 49. Allegro
  50. 50. Allegro 5.1 Win, Lin, Mac iOS, Android http://alleg.sourceforge.net/a5docs/refman/
  51. 51. Initialization al_init();
  52. 52. Graphic environment al_create_display(int w, int h)
  53. 53. Autiomation Evolved
  54. 54. Gradle - cpp-exe
  55. 55. Gradle wrapper Download and prepare infrastructure
  56. 56. Gradle - compile with debug
  57. 57. Cppcheck
  58. 58. L10N - verify your translations http://www.microsoft.com/Language
  59. 59. Continuous integration
  60. 60. Opportunity for innovative students Bachelor and master thesis @Y Soft Contact person: Andriy.Stetsko@ysoft.com
  61. 61. 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/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×