Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

C language in our world 2015

6,781 views

Published on

C language in context of our world. Mapping interesting tools, IDE, open source libraries. Introduction to Gradle and packaging for Linux. Link to language Go.

Published in: Technology
  • Be the first to comment

C language in our world 2015

  1. 1. C language in our world 5.5. 2015 FI MUNI Brno @jurajmichalek http://www.ysofters.com
  2. 2. Grab the source code https://github.com/ysoftdevs/cpp-examples
  3. 3. Who am I? Blog: http://georgik.sinusgear.com
  4. 4. C language today NuGet Gradle & C language Jenkins IDEs Go language
  5. 5. Programming languages we know strongly influence the way we think about programming. - JS Conf 2014 - Jenna Zeigen
  6. 6. Breeze of fresh ideas starts blowing from other technologies...
  7. 7. NuGet - http://www.nuget.org
  8. 8. Made with SDL
  9. 9. Made with SDL
  10. 10. Multiplatform SDL officially supports Windows, Mac OS X, Linux, iOS, and Android. Support for other platforms may be found in the source code.
  11. 11. SDL versions 1.2 stable - rock solid 2.x development - new features
  12. 12. 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
  13. 13. Quit application SDL_quit()
  14. 14. Window SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
  15. 15. Load bitmap SDL_Surface *bmp = nullptr; bmp = SDL_LoadBMP("smajlik.bmp");
  16. 16. Visual data SDL_Renderer SDL_Texture
  17. 17. Keyboard SDL_PollEvent(SDL_Event *event) event.key.keysym.sym
  18. 18. Timer SDL_TimerID SDL_AddTimer( Uint32 interval, SDL_TimerCallback callback, void* param)
  19. 19. Mouse SDL_GetMouseState(*x, *y);
  20. 20. Text Not implemented
  21. 21. Extensions extension for many languages: C++, Java, PHP, Python, Ruby
  22. 22. PyGame Power of C and Power of Python http://www.pygame.org
  23. 23. Kivy.org iOS Android Windows Desktop Windows Phone Raspberry Pi
  24. 24. Allegro
  25. 25. Allegro 5.1 Win, Lin, Mac iOS, Android http://alleg.sourceforge.net/a5docs/refman/
  26. 26. Initialization al_init();
  27. 27. Graphic environment al_create_display(int w, int h)
  28. 28. L10N - verify your translations http://www.microsoft.com/Language
  29. 29. Conemu Maximus 5 Powerful terminal for Windows use with PowerShell, Python, Ruby… https://code.google.com/p/conemu-maximus5/
  30. 30. Yum/Apt-like installation of Win packages https://chocolatey.org
  31. 31. Gradle Native Builds C/C++, Objective-C http://gradle.org/getting-started-native/
  32. 32. Build tool Exensible by plugins Power of Domain Specific Language
  33. 33. http://plugins.gradle.org
  34. 34. Project structure Convention over configuration Decrease number of decisions that developers need to make http://en.wikipedia.org/wiki/Convention_over_configuration
  35. 35. C plugin
  36. 36. Gradle command line & GUI
  37. 37. gradle components
  38. 38. Gradle wrapper Download and prepare infrastructure
  39. 39. Gradle - compile with debug
  40. 40. Gradle build Linux package Netflix Nebula OS Package plugin: http://plugins.gradle.org/plugin/nebula.os-package
  41. 41. Build package Note: Gradle supports abbreviation. You can write hE instead of helloExecutable
  42. 42. Continuous integration
  43. 43. 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
  44. 44. IDE & Text editors
  45. 45. c9.io
  46. 46. Sublime Text
  47. 47. Toolchain detection
  48. 48. Edit project
  49. 49. Leverage Refactor
  50. 50. Use Debugger
  51. 51. Fine tune Disabled by default for all JetBrains tools :-(
  52. 52. Qt Creator
  53. 53. From desktop to cloud Software is slow Software is hard to write Software is hard to scale
  54. 54. Go http://golang.org Authors: ● Ken Thompson - known for Unix ● Rob Pike - known for UTF-8 ● Robert Griesemer
  55. 55. 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...
  56. 56. Materials Andreas Krennmair http://synflood.at/tmp/golang-slides/mrmcd2012.html#1 Steve Francia http://spf13.com/presentation/first-go-app/
  57. 57. YSofters Twitter: @ysoftdevs GitHub: github.com/ysoftdevs Blog: www.ysofters.com Technology Hour: www.meetup.com/ysoft-th Thesis: Andryi.Stetsko@ysoft.com

×