The art of programming




Hi,


Ólafur Jóhannsson

Developer @ Billetlugen A/S


programming 


As an art


Computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty.



BUT, 


ENOUGH ABOUT ART











Lets talk code


Programming is just an abstraction to create binary that the machine executes



Binary


01000001 01110010 01110100 00100000 01101111 01100110 00100000 01110000 01110010
01101111 01100111 01110010
01100001 01101101 01101101 01101001 01101110 01100111



I want to learn to program, where do i start?


  1. Find something you want to build you are passionate about
  2. Find the appropriate language
  3. Find an editor that you find comfortable
  4. Stick with it
  5. ???
  6. Profit!

there are no magic solutions


no 21. steps to become a master programmer


if you spend enough time doing something, in the end you will be proficient in said thing

Different languages are more suited for different purposes 









programming languages


are just tools to solve specific problems,

an artificial language used to give a machine a specific set of instructions

no one size fits all

a means to an end


programming languages















web dev

  • HTML
  • CSS
  • JavaScript
  • ActionScript (Flash)










languages that run on the client

(in the browser)

 

languages that run on the server


  • Python
  • NodeJS (JavaScript)
  • PHP
  • ASP.NET (C#/VB*)
  • Ruby

web dev






*Do not use VB..

games

Unity 3D
Can use JavaScript or C#

Web based games
HTML5 - CSS3 - JavaScript

PyGame using Python

Most triple A games are written in C++

system programming



kernels

operating systems

compilers

Assembly/C/c++

 

app development

I recommend using a mobile development environment

PhoneGap

Titanium

(10% of all smartphones run Titanium built apps)

Xamarin

Kiwy

 




My recommendation, as far as beginners go


HTML/CSS

JavaScript

Python

so many to choose from...


  • Sublime Text
  • Coda
  • Vim
  • Visual Studio
  • IntelliJ IDEA
  • xcode
  • IDLE (Python)



Source code editors


The difficulty does not lie in learning to program
In programming the hard part isn't solving problems, but finding out what problems to solve.

But what solutions to tackle after learning the language


resources on the interwebz

http://stackoverflow.com/

https://www.khanacademy.org/

https://dash.generalassemb.ly/

https://www.bitcast.io/

https://www.udacity.com/

https://www.coursera.org/category/cs-programming

Google is always your friend

google: {language} {problem/question} = solution




THANK YOU


Made with Slides.com