Как стандартные библиотеки размеров сравниваются для разных языков? - PullRequest
2 голосов
/ 14 мая 2010

Кто-то недавно бредил о том, насколько хорош jQuery и как он превращает javascript в удовольствие, а также о том, как весь исходный код был таким маленьким (и один файл).

Я посмотрел его на www.ohloh.net/ и там было написано около 30000 строк javascript, когда мне надоело завиток, и он сказал о 5000 строк (странное несоответствие, может быть, наборы тестов и т. Д.?).

Я подумал, что это не так уж странно, поскольку в JavaScript, как я слышал, есть много забавных динамических трюков, так что вы, вероятно, можете обойтись без небольшой библиотеки.

Но потом я подумал насчет других языков высокого уровня, с большими стандартными библиотеками, и подумал, насколько велик стандарт для python / ruby ​​/ haskell / pharo (smalltalk) / * ml / etc. (библиотеки не в той степени, в какой это возможно, чтобы разделить их)

Кто-нибудь знает? Любые детали (комментарий / пробел / строки кода, строки тестового кода, строки на языке против строк в ffi / байт-коде) приветствуются!

изменить: пс. Так как это началось, я спросил о jQuery в качестве бонуса, если вы могли бы перечислить размер мегафреймворков, поэтому мегафреймворк предоставляет настолько много, что люди, использующие x мегафреймворк на языке y, могут иногда ссылаться на программирование на xy или даже x, а не на y (т.е.: qt, jQuery и т. д.).

Ответы [ 2 ]

2 голосов
/ 20 мая 2010

В Pharo печать:

|i|
i := 0.
SystemNavigation default allBehaviorsDo: [:each| 
each selectors do: [:selector |
    i := i+((each sourceCodeAt: selector) lineCount)]].
i. 

приводит к:

  • PharoCore-1.1-11326 обновлен до 11334: 367231
  • Приморский-2.8.4: 473368
  • Pharo-1.0 с базовой платформой Suixo: 558656
  • Побережье 3.0a5: 408019

Включает комментарии метода, и я не уверен, что произойдетчертам.

1 голос
/ 24 мая 2010

Вероятно, было бы справедливее сравнивать jQuery ТОЛЬКО с другими библиотеками javascript. Я хотел бы думать, что это с учетом того, о ком ты говоришь.

jQuery, PRODUCTION (24KB, Minified and Gzipped) or (155KB, Uncompressed Code)
jQuery UI, full Minified 200kb
Prototype, Size: 128kB
Script.aculo.us, Size: 63kB
mootools, Size: 63kB
extJS, Size: 6.6mB FULL, core 130Kb
Yahoo! UI Library (YUI), Size: core minified 17kb, 7kb minified and gzipped, full 379kb minified, 135 minified and gzipped
Mochikit, Size: 380kB
dojo, Size: compressed (27k)
...