А что же будет с Си?!
Nov. 9th, 2008 04:50 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
(написано в ответ на Re: C++ умирает... из предыдущего поста)
1. Я решил скачать openjdk-7-ea-src-b39-06_nov_2008 и посмотреть на некоторые разделы (значимые на мой личный взгляд) кодовой базы в разрезе файлов с расширениями java, h, c, hpp, cpp (такой разрез не говорит обо всём, но он говорит о многом). Вот, что у меня получилось.
Интересно было узнать, что java - это сишная консольная утилита (openjdk-7-ea-src-b39-06_nov_2008/jdk/src/share/bin/java.c), а javac - напротив, явовская (openjdk-7-ea-src-b39-06_nov_2008/langtools/src/share/classes/com/sun/tools/javac/Main.java).
И если в jdk полюсовых файлов почти нет (по сравнению с явовскими и сишными), то в hotspot'е кол-во этих же файлов оправдывает фразу из Википедии:
2. Про моно так скажу: там плюсов совсем нет, а вот без сей - ну, просто никак.
Про мелко-мягких могу судить только по тому, что рассказывает Страуструп (он хоть человек и заинтересованный, но должен знать о таких вещах уж точно, к тому же ресурс публичный, могли бы уже давно зачмырить):
Насколько я понимаю, Erlang и Haskell - противопоставляются умирающим языкам, как новое "наше всё"?
Посмотрел вскользь на их исходники. Ни один из них не использует плюсов: Erlang завязан на Си, Haskell - на Си--. Интересно было узнать.
В этой связи возникает вопрос о будущем сей относительно будущего плюсов, явы, Erlang и Haskell.
* Upd: Взял CCCC версии 3.1.4 чтобы посчитать две дополнительные колонки: кол-во строк кода и комментариев. Не спрашивайте меня о гарантиях правильности подсчета этих колонок, обращайтесь к авторам CCCC. И парочку файликов пришлось выкинуть, т.к. CCCC зависал или падал.
Дайджест блога '11
1. Я решил скачать openjdk-7-ea-src-b39-06_nov_2008 и посмотреть на некоторые разделы (значимые на мой личный взгляд) кодовой базы в разрезе файлов с расширениями java, h, c, hpp, cpp (такой разрез не говорит обо всём, но он говорит о многом). Вот, что у меня получилось.
путь | расширения | кол-во файлов | кол-во строк | кол-во слов | кол-во байт | строк кода * | строк комментариев * |
---|---|---|---|---|---|---|---|
jdk/src/share | java | 7379 | 2481343 | 10405236 | 102285019 | 896623 | 741547 |
h, c | 937 | 356712 | 1403919 | 12480723 | 108962 | 53440 | |
hpp, cpp | 92 | 25434 | 145786 | 1098891 | 12462 | 3743 | |
jdk/src/solaris | java | 229 | 94520 | 319113 | 3963349 | 51724 | 13331 |
h, c | 352 | 182558 | 651537 | 6096770 | 92590 | 18429 | |
hpp, cpp | 0 | 0 | 0 | 0 | 0 | 0 | |
jdk/src/windows | java | 152 | 38714 | 149539 | 1400959 | 18157 | 9054 |
h, c | 227 | 58690 | 229662 | 2017576 | 18329 | 9723 | |
hpp, cpp | 104 | 69194 | 216812 | 2243307 | 18171 | 5131 | |
hotspot/src/share | java | 196 | 30254 | 103299 | 1023361 | 7127 | 3179 |
h, c | 8 | 5065 | 18474 | 179188 | 1172 | 1002 | |
hpp, cpp | 1005 | 486944 | 2017300 | 18368964 | 209287 | 85251 | |
hotspot/src/cpu | java | 0 | 0 | 0 | 0 | 0 | 0 |
h, c | 2 | 79 | 483 | 2973 | 9 | 48 | |
hpp, cpp | 175 | 98513 | 397759 | 3514055 | 49594 | 19761 | |
hotspot/src/os/solaris | java | 0 | 0 | 0 | 0 | 0 | 0 |
h, c | 12 | 6587 | 25299 | 204315 | 3928 | 1565 | |
hpp, cpp | 28 | 10705 | 45660 | 372784 | 5144 | 2097 | |
hotspot/src/os/windows | java | 0 | 0 | 0 | 0 | 0 | 0 |
h, c | 1 | 108 | 377 | 2863 | 13 | 31 | |
hpp, cpp | 27 | 7864 | 33451 | 270258 | 1737 | 1170 | |
hotspot/src/os_cpu/solaris_sparc | java | 0 | 0 | 0 | 0 | 0 | 0 |
h, c | 0 | 0 | 0 | 0 | 0 | 0 | |
hpp, cpp | 13 | 1884 | 9065 | 72642 | 835 | 434 | |
hotspot/src/os_cpu/windows_x86 | java | 0 | 0 | 0 | 0 | 0 | 0 |
h, c | 0 | 0 | 0 | 0 | 0 | 0 | |
hpp, cpp | 16 | 1821 | 8307 | 63948 | 661 | 429 |
Интересно было узнать, что java - это сишная консольная утилита (openjdk-7-ea-src-b39-06_nov_2008/jdk/src/share/bin/java.c), а javac - напротив, явовская (openjdk-7-ea-src-b39-06_nov_2008/langtools/src/share/classes/com/sun/tools/javac/Main.java).
И если в jdk полюсовых файлов почти нет (по сравнению с явовскими и сишными), то в hotspot'е кол-во этих же файлов оправдывает фразу из Википедии:
The HotSpot Java Virtual Machine is written in C++.Думаю, без hotspot'а ява была бы не столько привлекательной сейчас, всё же он делает своё дело.
2. Про моно так скажу: там плюсов совсем нет, а вот без сей - ну, просто никак.
Про мелко-мягких могу судить только по тому, что рассказывает Страуструп (он хоть человек и заинтересованный, но должен знать о таких вещах уж точно, к тому же ресурс публичный, могли бы уже давно зачмырить):
Some parts of Visual Studio like the Base Class Libraries that ship with the .NET Framework were written using C# but the C# compiler itself is written in C++.
Насколько я понимаю, Erlang и Haskell - противопоставляются умирающим языкам, как новое "наше всё"?
Посмотрел вскользь на их исходники. Ни один из них не использует плюсов: Erlang завязан на Си, Haskell - на Си--. Интересно было узнать.
В этой связи возникает вопрос о будущем сей относительно будущего плюсов, явы, Erlang и Haskell.
* Upd: Взял CCCC версии 3.1.4 чтобы посчитать две дополнительные колонки: кол-во строк кода и комментариев. Не спрашивайте меня о гарантиях правильности подсчета этих колонок, обращайтесь к авторам CCCC. И парочку файликов пришлось выкинуть, т.к. CCCC зависал или падал.
Дайджест блога '11
no subject
Date: 2008-11-10 03:03 pm (UTC)- Ericsson
- Насколько я понимаю, если говорить об открытых проектах в Ericsson, развивая Erlang, они не забывают о проектах на яве и Си/Си++. Т.е., не похоже, что они забили на всё остальное.
Я к тому, что вряд ли указанные примеры следует рассматривать, как вытеснение остальных технологий Erlang'ом.no subject
Date: 2008-11-11 12:45 am (UTC)Facebook: http://www.google.com/search?client=safari&rls=en-us&q=facebook+erlang+chat&ie=UTF-8&oe=UTF-8
А вообще речь-то не о том что C++ (или другие технологии) вытесняется Эрлангом, а о том что эрланг становится, рядом с теми же Перлами или Питонами, эффективной технологией для своей ниши, мимо которой ни крупные (Amazon, Facebook), ни мелкие (Mochi Media, JS-Kit) не проходят. Настолько эффективной, что она становится конкурентным преимуществом: пока другие компании думают как бы COMET чат написать на PHP, другие делают его в 150 строк на Erlang, который способен выдержать одновременно миллион пользователей.
Аллилуйя!
Date: 2008-11-11 09:35 am (UTC)Вот, Facebook - молодцы, у них даже соответствующая страница в зачатке есть. И не боятся объяснять и популяризовывать (ссылку я уже приводил):
Amazon. Извините, а вы, пользуясь случаем, в следующий раз, не могли бы просто поинтересоваться у мэтра, отчего же у них этот момент, прямо таки, замалчивается, а используемые передовые технологии не популяризируются? А то ведь нехорошо получается, согласитесь... Eсли бы не ваш комментарий - вряд ли бы я вообще узнал, даже если хотел, что Amazon SimpleDB использует Erlang, например... Видимо, не считают нужным, капиталисты проклятые...
Re: Аллилуйя!
Date: 2008-11-11 10:24 am (UTC)Вот Yahoo не стесняются - http://blog.socklabs.com/cufp2008.html
Re: Аллилуйя!
Date: 2008-11-11 02:26 pm (UTC)