The Dark Side of Programming Languages

download The Dark Side of Programming Languages

If you can't read please download the document

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 of The Dark Side of Programming Languages

  • 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