Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Quake Con

Name: Anonymous 2011-08-06 5:13

John Carmack says embedded scripting languages with dynamic typing and hand-holding are bad for game development:

http://www.youtube.com/watch?v=4zgYG-_ha28&t=67m35s

Points to take away:

1) People who aren't really programmers shouldn't be able to make changes anyway, it just creates more problems than it solves, so need to cater to them.
2) Embedded language runtimes with GC, reflection, and dynamic typing aren't as scalable as C/C++ and have poor performance on modern cache coherent multi-core hardware.
3) Most existing scripting languages don't have designs that interface well with the fine-grained, high-performance task schedulers on modern multi-threaded game engines.
4) It's more difficult to perform large-scale static analysis on the code base to ensure a specific level of code quality using static analysis tools.
5) Functional languages aren't inherently bad, but it's difficult for large teams to adopt as most programming talent is more familiar with imperative/object-oriented/procedural programming. John Carmack says he's using Haskell and Ocaml in some of his own toy projects, but wouldn't even attempt to force the rest of the developers on an actual team project to adopt such a paradigm.
6) If no existing scripting language/runtime is viable, you have to create your own, but it takes a lot of man hours to build your own scripting language that meets all of your constraints and requirements, it's outside of the scope of most game development projects, so it's often just more productive to move most of your game code too the native low-level language that you're already using.

This is the real reason why many developers are dropping the ability to ship mods, because supporting mods means having a game that performs poorly and can't meet the designers and modelers visions.

Name: Anonymous 2011-08-09 18:12

Dynamic versus static is nothing compared to powerful versus week languages. I'd rather use either Lisp or Haskell than shitty shitty C++ any day. I think he's cargo cult understanding high level programming if he thinks dynamic typing is so bad. I'll take 30 lines of dynamically typed code over 100 lines of "type safe" C++ any day, and that's about the conversion rate.

The real way to reduce defects is to write less code. All other methods pale in comparison.

Name: Anonymous 2011-08-09 18:12

>>1
dynamic typing
hand-holding

wait, isn't static typing the one that's hand holding?

Name: Anonymous 2011-08-09 18:32

This thread is bad.
Static typing weenies should use dependent types to statically verify their bullshit.
Dynamic typing weenies should use soft typing to get warning about the types at compile time.
Doing type inference in decent dynamic typed languages (CL, Scheme) is not that difficult.
If you're using Python or Ruby as an example of dynamic typed language, fuck you, fuck you in the ass in the most painful way possible.

Name: Anonymous 2011-08-09 19:09

>>83
If you're using Python or Ruby as an example of dynamic typed language, fuck you, fuck you in the ass in the most painful way possible.
But those are dynamically typed languages.

Name: Anonymous 2011-08-09 19:17

>>84
No, those are shit. What's next, using Java as an example of an OOP language?

Name: Anonymous 2011-08-09 20:32

>>85
Absolutely.

Name: Anonymous 2011-08-10 0:34

>>86
pfffff

Name: Anonymous 2011-08-10 3:27

>>81
But those 30 lines won't be as fast as C!!!

Name: Anonymous 2011-08-10 4:51

>>88 is an uncorrectable error.

Name: Anonymous 2011-08-10 4:57

Name: Anonymous 2011-08-10 5:20

Name: Anonymous 2011-08-10 13:59

>>90
fuck you faggot

Name: Anonymous 2011-08-10 14:12

    ,                           .::.
 PokeMon Logo Converted       .;:**'            AMC
                              `                  0
  .:XHHHHk.              db.   .;;.     dH  MX   0
oMMMMMMMMMMM       ~MM  dMMP :MMMMMR   MMM  MR      ~MRMN
QMMMMMb  "MMX       MMMMMMP !MX' :M~   MMM MMM  .oo. XMMM 'MMM
  `MMMM.  )M> :X!Hk. MMMM   XMM.o"  .  MMMMMMM X?XMMM MMM>!MMP
   'MMMb.dM! XM M'?M MMMMMX.`MMMMMMMM~ MM MMM XM `" MX MMXXMM
    ~MMMMM~ XMM. .XM XM`"MMMb.~*?**~ .MMX M t MMbooMM XMMMMMP
     ?MMM>  YMMMMMM! MM   `?MMRb.    `"""   !L"MMMMM XM IMMM
      MMMX   "MMMM"  MM       ~%:           !Mh.""" dMI IMMP
      'MMM.                                             IMX
       ~M!M                                             IMP
                      .---------------------.
                      |AMC   ..-----..      |
                      |99  .'-____---~'.    |
                      |   :             :   |
                      |  : __    .   ..' :  |
                      | :  ; ~-.'  .'  ;  : |
                      | :  `...O  '..O/ _-: |
                      | :._         _.-~  : |
                      |  : ----~~~~~_..' :  |
                      |   :   `---~~ .' :   |
                      |    '.  `-__.' .'    |
                      |      ''-----''      |
                      |       ,             |
                      |    PokeMon # 101    |
                      |      Electrode      |
                      `---------------------'
                      .---------------------.
                      |AMC   ..-----..      |
                      |99  .'_        '.    |
                      |   : ( O-_)  .-~~:   |
                      |  :  `-..'   `O_.-:  |
                      | :   __--~~~~--..  : |
                      | :-~~            ~~: |
                      | :                 : |
                      |  :               :  |
                      |   :     ...     :   |
                      |    '.  '...'  .'    |
                      |      ''-----''      |
                      |       ,             |
                      |    PokeMon # 100    |
                      |       Voltorb       |
                      `---------------------'
                 .-----------------------------.
                 | AMC 99                      |
                 |            .~~-.      _.    |
                 |  .''..    (_~)  ) _.-'. ;   |
                 |  '.'..'..-(_~ _-'*. .'.'    |
                 |    ''.'.. _ ~~  _  ';'      |
                 |     .''. (_)   (_)  '.      |
                 |     ;      "..."     '.     |
                 | .''.'.   .''`-'''.    '.''. |
                 | '.  '   ;         ;    ;  ; |
                 |   '.   ;           ;   ' ;  |
                 |    '.  ;           ;    ;   |
                 |     '.  ;         ;   .'    |
                 |     .'...:..___..:..':.     |
                 |  .''     ..'    '...   ~)   |
                 | (.....'''           ''''    |
                 |    ,                        |
                 | PokeMon # 040 - Wigglytuff  |
                 `-----------------------------'
                .------------------------------.
                | AMC                .'.       |
                |  9         _______ .'.'.     |
                |  9       .'       '.' '      |
                |     .   ;           ;        |
                |   .' '.;      ...    ;       |
                | .' '.  '.   .'   '.   ;      |
                |  '.  '.. :  ;   * ;   ;      |
                |    '. '.'   '.   .'   ;''.   |
                |      '';      '''    ;'.  '. |
                |        /            ;.  '.'  |
                |      .''./._______.'| '.'    |
                |      '..'         | |        |
                |                  |~~~|       |
                |     ,             ~~~        |
                |  PokeMon # 081 - Magnemite   |
                `------------------------------'
              .----------------------------------.
              |                                  |
              |  AMC         .----..        .'.  |
              |   9      _.-~  __   ~~~...'' .'  |
              |   9    .'    .~  '''...  ..''    |
              |       .'   ..''''''..  ''        |
              |       '...'          '..         |
              |      ..'              '.'..      |
              |   ..'  .'               ;  '.    |
              | .'\   :   /~~\       /~~-.__|)   |
              | './__:   ; '. |.''''''..  ;      |
              |     :    `..''()      ()'.'      |
              |     :    .'  __..------_  ;      |
              |      : .  .-~      .  . ~-:      |
              |    _.-'  ;        _____    ).    |
              |   /_     ; `-__-~H     H~-'  '.  |
              |  (  \  _.'.  (_____   _..';._.') |
              |   '.'~~    ~--...__~~~_.-'   `~  |
              |        ,           ~~~           |
              |     PokeMon # 079 - Slowpoke     |
              `----------------------------------'
     .---------------------------------------------------.
     |            .---.                                  |
     |  AMC    .-~     \  __                             |
     |   9   .'   `.._.'-~  `.                           |
     |   9  ;                 ;                          |
     |    .--.            _...'   ____                   |
     |   ;    ;        .-~   _.-~~    ~~--__             |
     |   ;    :    .-~~;   .'               ~-.          |
     |   `...*   .'    ;   ; __                ''.       |
     |    ;    .'      '..'    ~.~--___.-         '.     |
     |    ; :''     :   ;'     ;      ;             '.   |
     |    ; ;'..  .'  .'       '.   P.'               \  |
     |    ; ;   ''   .'       .~~~~~~~~-               ; |
     |    ; ;'.     ;        ' .'.    .~~---___       /  |
     |     "  ;'''   ;        .'  \  /        .~-. .-'   |
     |       ;                ;    ||       .'   ; ;     |
     |       ;               ; .'''||..     '.    |      |
     |      ;                ;'    ||  ''.    '.         |
     |     ;         . '     ;     ||     '.   :\..      |
     |    ;      ..''         ''../  \.    .:.' /  ''.   |
     |    '...'''         __---___   __''''___-~      )  |
     |  ..''   __----~~~~~        ~~~....~~      ---''   |
     | '....---__________-------~~~~~    ~~~~~~~~        |
     |                   ,                               |
     |                Pokemon # 089 - Muk                |
     `---------------------------------------------------'
                 .--------------------------.
                 |         .''''''.         |
                 | AMC    ;        ;        |
                 |  9    ;  HP  HP  ;       |
                 |  9   ;   H   H    ;      |
                 |      ;     ___    ;      |
                 |      ;    (___)   ;      |
                 |      ;            ;      |
                 |      ;            ;      |
                 |     h;            ;g     |
                 |   jg ggh      hgj gggf   |
                 | og  h   hgfgfj   f  j gh |
                 |   gh h  h      hg  g     |
                 |     ,                    |
                 |  PokeMon #050 - Diglett  |
                 `--------------------------'

Name: Anonymous 2011-08-10 16:31

joh joh joh /prog/ is so fresh against /prog/ reddit looks like a rat

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List