the dark side of programming languages

Download The Dark Side of Programming Languages

If you can't read please download the document

Upload: jean-baptiste-mazon

Post on 28-May-2015

2.255 views

Category:

Technology


4 download

DESCRIPTION

The raw material of my Sophia Antipolis Ruby Drinkup talk on esoteric languages.This deck isn't really suitable for plain browsing with no commentary.

TRANSCRIPT

  • 1. The Dark Side of Programming Languages
    • Jean-Baptiste Mazon @jbmazon

2. Programming Languages

  • BASIC

3. Z80 asm 4. Pascal 5. C 6. x86 asm 7. C++ 8. Prolog 9. AutoLISP

  • Smalltalk

10. Emacs Lisp 11. Java 12. AVR asm 13. OCaml 14. PHP 15. Shell 16. 68k asm

  • Ruby

17. Perl 18. Common Lisp 19. Python 20. Haskell 21. Scheme 22. Forth 23. Erlang 24. More Recently

  • LOLCODE

25. J 26. Golfscript 27. Brainfuck 28. Unlambda 29. Befunge 30. > 31. Whitespace 32. All Programming Languages aren't *that* serious 33. Compiler Language With No Pronounceable Acronym

  • Donald R Woods, James M Lyon

34. Princeton University 1972 35. INTERCAL for short 36. INTERCAL instruction

  • (1337) DO ,1 #13 PLEASE DO ,1 #13 DON'T ,1 #13 PLEASE NOTE WHAT DO %50 ,1 #13

37. INTERCAL values 16-bit 32-bit scalar spot (.) twospot (:) array tail (,) hybrid (;) 16-bit constant: mesh (#) 38. INTERCAL commands

  • assignment

39. ,1 #13 40. INTERCAL commands

  • variable state

41. IGNORE .1 42. REMEMBER ,1 + :3 43. INTERCAL commands

  • variable stack

44. STASH :1 + .2 45. RETRIEVE .4 46. INTERCAL commands

  • call stack

47. (1337) NEXT 48. RESUMEexpr 49. FORGETexpr 50. INTERCAL commands

  • control flow

51. COME FROM 52. NEXT FROM 53. INTERCAL commands

  • instruction state

54. ABSTAIN FROM 55. REINSTATE 56. INTERCAL commands

  • I/O

57. WRITE INvar 58. READ OUTvar 59. INTERCAL expressions

  • select #12 ~#5 -> 2

60. mingle#0 $ #256 -> 65536 61. unary bitwise

  • or #v26 ->31

62. xor #?26 -> 23 63. and #&26 -> 16 64. INTERCAL expressions

  • sparks '

65. rabbit ears 66. INTERCAL sample DO ,1 i 118. other `GH

  • ^x`GH = ``s ^xG ^xH

119. Unlambda samples 120. LOLCODE

  • Adam Lindsay 2007

121. HAI 122. CAN HAS STDIO? 123. VISIBLE HAI WURLD! 124. KTHXBYE 125. LOLCODE

  • HAI CAN HAS STDIO? PLZ OPEN FILE LOLCATS.TXT AWSUM THX VISIBLE FILE O NOES INVISIBLE ERROR! KTHXBYE

126. LOLCODE

  • I HAS A VAR IM IN YR LOOP UP VAR!!1 VISIBLE VAR IZ VAR BIGGER THAN 10? KTHX IM OUTTA YR LOOP

127. HQ9+

  • H

128. Q 129. 9 130. + 131. not Turing-complete! 132. HQ9+B

  • H

133. Q 134. 9 135. + 136. B 137. not object-oriented! 138. HQ9++

  • H

139. Q 140. 9 141. + 142. + 143. who needs that Q? 144. H9+

  • H

145. 9 146. + 147. Hello World! 148. Others

  • Befunge, Piet

149. Malbolge 150. Perligata 151. Chef, Shakespeare 152. essential support portal for this presentation: 153. http://esolangs.org/wiki/Language_list